Exportar dados do VB6 para Excel

Anônima
2009-04-08T19:03:17+00:00

Bom Dia a todos,

eu utilizo o Visual Basic 6 e estou precisando gerar um arquvio .xls (excel) a partir do datagrid.

Como eu posso fazer isso?

Atenciosamente,


Leandro Rodrigues MCP hotmail: *** O endereço de email foi removido para fins de privacidade *** skype: leandro_sr82

Microsoft 365 e Office | Instalar, resgatar, ativar | Para uso doméstico | Outro

Pergunta bloqueada. Essa pergunta foi migrada da Comunidade de Suporte da Microsoft. É possível votar se é útil, mas não é possível adicionar comentários ou respostas ou seguir a pergunta.

0 comentários Sem comentários
Resposta aceita pelo autor da pergunta
Anônima
2009-04-10T03:41:35+00:00

A resposta do colega Anderson é para VB.Net, não para VB6. Embora a lógica seja semelhante, no VB6 é um pouco mais difícil.

Criei este código e funcionou bem:

Private Sub ExportaExcel()

'Exporta os dados do DataGrid para o Excel

Dim oApp As Object ' Excel.Application

Dim oWkb As Object ' Excel.Workbook

Dim oWks As Object ' Excel.Worksheet

Dim l As Long

Dim c As Long

Set oApp = CreateObject("Excel.Application")

oApp.Visible = True

Set oWkb = oApp.Workbooks.Add

Set oWks = oWkb.Worksheets(1)

'Título das colunas

For c = 0 To Me.DataGrid1.Columns.Count - 1

oWks.Cells(1, c + 1).Value = Me.DataGrid1.Columns(c).Caption

Next c

'Conteúdo

l = 0

Me.DataGrid1.Row = l

Do While IsNumeric(Me.DataGrid1.Columns(0)) = True

For c = 0 To Me.DataGrid1.Columns.Count - 1

    oWks.Cells(l + 2, c + 1).Value = Me.DataGrid1.Columns(c).Value

Next c

l = l + 1

On Error Resume Next

Me.DataGrid1.Row = l

If Err <> 0 Then

    Err.Clear

    On Error GoTo 0

    Exit Do

End If

On Error GoTo 0

Loop

End Sub

Private Sub cmdExportarExcel_Click()

On Error GoTo ErrHandler

Call ExportaExcel

ExitHere:

Exit Sub

ErrHandler:

MsgBox Err.Description & vbCrLf & Err.Number & vbCrLf & Err.Source, vbCritical, "cmdExportarExcel_Click"

Resume ExitHere

End Sub


Luiz Cláudio Cosenza Vieira da Rocha - http://msmvps.com/blogs/officedev - IT Lab www.itlab.com.br

Esta resposta foi útil?

0 comentários Sem comentários

17 respostas adicionais

Classificar por: Mais útil
  1. Excluído

    Essa resposta foi excluída devido a uma violação de nosso Código de Conduta. A resposta foi denunciada manualmente ou identificada por meio da detecção automatizada antes da ação ser tomada. Consulte nosso Código de conduta para obter mais informações.


    Os comentários foram desabilitados. Saiba mais

  2. Anônima
    2009-06-30T19:33:40+00:00

    Prezado Luiz Cláudio,

    eu utilizei o seu codigo para exportar o DataGrid para Excel e funcionou perfeitamento , só que eu preciso que antes da exportação ele peça para salvar o arquivo e não abrir a exportação direto como esta agora.

    Por Favor , vc pode me ajudar a resolver esse problema ?

    Muito Obrigado ,

    Tiago Procópio

    Esta resposta foi útil?

    0 comentários Sem comentários
  3. Anônima
    2009-04-26T09:10:39+00:00

    Olá Luiz,

    funcionou!

    Muito obrigado pela ajuda!

    Abraços

    Leandro Rodrigues


    Leandro Rodrigues MCP hotmail: *** O endereço de email foi removido para fins de privacidade *** skype: leandro_sr82

    Esta resposta foi útil?

    0 comentários Sem comentários
  4. Anônima
    2009-04-24T15:22:17+00:00

    Olá,

    no menu Tools > Option, guia General, veja a seção Error Trapping. Assinale o item "Break in class module". Acredito que o seu VB esteja configurado como "Break on all errors", já que pela sua descrição ele parou em um erro tratado, o que só pode acontecer nesta configuração.

    Quanto ao ajuste feito no código, se o campo é alfa-numérico você pode usar algo simples como

    Do While IsNull(Me.DataGrid1.Columns(0)) = False


    Luiz Cláudio Cosenza Vieira da Rocha - http://msmvps.com/blogs/officedev - IT Lab www.itlab.com.br

    Esta resposta foi útil?

    0 comentários Sem comentários