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. Anônima
    2009-04-24T11:43:04+00:00

    Luiz,

    mesmo já tendo solucionado o meu problema te peço que me explique como devo fazer para configurar o debug pois eu só consegui terminar os testes depois de gerar o .exe. Antes disto, achei que o código poderia precisar de algum tipo de ajuste.

    Abraços


    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
  2. Anônima
    2009-04-24T11:33:56+00:00

    Olá Luiz,

    Cara, o seu código funcionou perfeitamente. Eu fiz apenas uma pequena alteração que é substituir 

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

    por:

    Do While (Not IsNumeric(Me.dtgCargo_frmCargo.Columns(0)) = True) Or (IsNumeric(Me.dtgCargo_frmCargo.Columns(0)) = True)

    visto que os dados que eu tenho na Grid são alfanúmericos.

    Muito obrigado pela ajuda!

    Abraços


    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
  3. Anônima
    2009-04-24T00:49:58+00:00

    Luiz, desculpe a minha ignorancia, mas como eu faço o ajuste do Debug que vc mencionou?

    Ah, se eu gerar o arquivo .exe ele funcionará normalmente?

    Obrigado!


    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-23T22:16:49+00:00

    Leandro, conseguiu resolver? se sim marque como resolvido para não deixar o post aberto


    Charles Aureliano Santana http://santanatech.spaces.live.com/ Profissional 4 Estrelas Windows Vista "TechNet Brasil Profissional 5 Estrelas" Profissional 3 Estrela ISA Server 2004 "TechNet Brasil Profissional 5 Estrelas"

    Esta resposta foi útil?

    0 comentários Sem comentários