• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

André Parreira

Guardar logo no inico o excel no vb.net

18 mensagens neste tópico

Boas

Alguem tem algum link ou exemplo, de como é que eu posso logo guardar  um ficheiro excel.

Eu clicko num botao e abre para guardar, mas ele apenas fica com o DIR nao faz mesmo o ficheiro, como se pode fazer??

Agradecia Ajuda sff

André Parreira

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

nao entendi..ele abre a caida de dialogo para salvar é?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim.

Para ter um botao que quando clicar ele crie no computador uma folha excel.

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Alguem tem algum tutorial??

Obrigado

Eu ainda não entendi o que queres!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Fiz um programa para incrementar dados no excel atraves do vb.net

Agora quando entro ou quero continuar a incrementar numa folha ja criada ou quero criar uma folha nova.

Ja consigo incrementar ir buscando uma folha ja criada, agora nao consigo e criar uma folha excel a partida.

Ao entrar clikar num botao, escolher onde quer guardar, e logo ali ele criar no computador a folha excel.

Espero agora ter sido mais explicido.

Obrigado :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ok, acho que já entendi.

Mostra lá o código que tens ... é mais fácil adaptar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu estava a tentar por fim fazer assim ( n sei se é a melhor opçao)

ir buscar a DIR, depois com ela abrir a folha e guardar onde o utilizador pedir.

o codigo e este

 Dim Path As New SaveFileDialog
        Path.FileName = "ExportDadosColgate"
        Path.Filter = "Excel 2007 (*.xlsx) |*.xlsx| Excel 2003 (*.xls) |*.xls"

        If Path.ShowDialog() = System.Windows.Forms.DialogResult.OK Then


        End If


        Dim objPrograma As New Microsoft.Office.Interop.Excel.Application
        Dim objLivro As Microsoft.Office.Interop.Excel.Workbook = objPrograma.Workbooks.Add
        Dim objFolha As Microsoft.Office.Interop.Excel.Worksheet = DirectCast(objPrograma.ActiveSheet, Microsoft.Office.Interop.Excel.Worksheet)

        objPrograma.Visible = True

        objLivro.SaveAs(TextBox1.Text)
        objLivro.Close()
        objPrograma.Quit()

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

MAs está bem!

Só tens de colocar a última parte para dentro do if (do SaveFileDialog) e parece-me estar ok. Se colocares o visible = false ele não mosra o excel.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Meti como disse

Dim Path As New SaveFileDialog
        Path.FileName = "ExportDadosColgate"
        Path.Filter = "Excel 2007 (*.xlsx) |*.xlsx| Excel 2003 (*.xls) |*.xls"

        If Path.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
            Dim objPrograma As New Microsoft.Office.Interop.Excel.Application
            Dim objLivro As Microsoft.Office.Interop.Excel.Workbook = objPrograma.Workbooks.Add
            Dim objFolha As Microsoft.Office.Interop.Excel.Worksheet = DirectCast(objPrograma.ActiveSheet, Microsoft.Office.Interop.Excel.Worksheet)

            objPrograma.Visible = False

            objLivro.SaveAs(TextBox1.Text)
            objLivro.Close()
            objPrograma.Quit()

        End If

Da erro no objLivro.SaveAs(TextBox1.Text), diz que ou nao encontra, ou o ficheiro contem caracteres especiais.

Mas nao tem, meti excel no nome do ficheiro e nao deu.

Nao estou mm a ver agora como é que posso resolver o problema.

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mostra la a função ou evento onde esse codigo esta inserido...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Vou meter tudo o que tenho para esse botao

 Private Sub btnovo_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnovo.Click


'Para produzir voz

        Dim oSpeech As New SpeechLib.SpVoice
        Dim oVoz As New SpeechLib.SpObjectTokenCategory
        Dim sMensagem As String = String.Empty
        Dim oldCI As CultureInfo = CurrentThread.CurrentCulture

        CurrentThread.CurrentCulture = New CultureInfo("en-US")


        ' Determino o volume
        oSpeech.Volume = volume.Maximum
        sMensagem = "New Excel"
        ' Falo
        oSpeech.Speak(sMensagem, SpeechLib.SpeechVoiceSpeakFlags.SVSFDefault)

        ' Espero acabar
        oSpeech.WaitUntilDone(oSpeech.SynchronousSpeakTimeout)

      
        Dim Path As New SaveFileDialog
        Path.FileName = "ExportDadosColgate"
        Path.Filter = "Excel 2007 (*.xlsx) |*.xlsx| Excel 2003 (*.xls) |*.xls"

        If Path.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
            Dim objPrograma As New Microsoft.Office.Interop.Excel.Application
            Dim objLivro As Microsoft.Office.Interop.Excel.Workbook = objPrograma.Workbooks.Add
            Dim objFolha As Microsoft.Office.Interop.Excel.Worksheet = DirectCast(objPrograma.ActiveSheet, Microsoft.Office.Interop.Excel.Worksheet)

            objPrograma.Visible = False

            objLivro.SaveAs(TextBox1.Text)
            objLivro.Close()
            objPrograma.Quit()

        End If
End sub

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Alguem tem alguma linha de codigo que seja parecia, ou algum tutorial para eu ver ))

Agradecia mesmo

Obrigado na mesma pela ajuda :P

André Parreira

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Nao da na mesma, diz aqui

 objLivro.SaveAs(TextBox1.Text)

que o ficheiro nao foi criado, e nao foi mesmo, porque eu vou onde queria que ele tivesse e nao esta la nada. tenho que criar la a folha excel.

mas nao estou a ver como :wallbash:

agradecia a ajuda e agradeço desde ja as respostas ja dadas :P

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Todo?

por mail talvez, n vejo outro metodo.. :hmm:

Obrigado :)

espero resposta  :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Consegui :cheesygrin:

Tava  dificil.

Deixo aqui o codigo para alguem quiser ver.

Dim instance As SaveFileDialog
        Dim myStream As Stream
        Dim saveFileDialog1 As New SaveFileDialog()

        saveFileDialog1.Filter = "Excel 2007 (*.xlsx) |*.xlsx| Excel 2003 (*.xls) |*.xls"
        saveFileDialog1.FilterIndex = 2
        saveFileDialog1.RestoreDirectory = True

        If saveFileDialog1.ShowDialog() = DialogResult.OK Then
            myStream = saveFileDialog1.OpenFile()
            If (myStream IsNot Nothing) Then
                myStream.Close()
            End If
        End If

Obrigado pela ajuda

Podem dar por resolvido

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora