Jump to content

Guardar logo no inico o excel no vb.net


André Parreira
 Share

Recommended Posts

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 😛

Link to comment
Share on other 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

Link to comment
Share on other 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

Link to comment
Share on other 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

Link to comment
Share on other sites

Consegui 😁

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

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.