Con este código podrás llenar una hoja de Microsoft Excel usando un Recordset, lo que se hace es abrir el EXCEL, manipular las celdas como si fuera código VBA (Visual Basic for Aplication), es decir, como una MACRO, y luego grabarlo y cerrarlo. en el siguiente código ya asumo que tienes un Recordset con datos listos para ser pasado a la hoja de calculo.
Hacer referencia a Microsoft Excel Objetc
Private Sub LlenaExcel() Dim prgExcel As Excel.Application Set prgExcel = New Application prgExcel.Workbooks.Add prgExcel.Sheets(1).Name = "Prueba" Dim i As Integer Dim j As Integer j = 1 Do While Not Rs.EOF For i = 0 To Rs.Fields.Count - 1 prgExcel.Cells(j + 1, i + 1) = Rs.Fields(i).Value Next Rs.MoveNext j = j + 1 Loop For i = 1 To Rs.Fields.Count prgExcel.Cells(1, i) = Rs.Fields(i - 1).Name prgExcel.Cells(1, i).EntireColumn.AutoFit Next prgExcel.Cells(1, 1).Select prgExcel.Selection.EntireRow.Insert prgExcel.Visible = True Rs.MoveFirst 'prgExcel.Quit End Sub
Cuando haces la referencia puedes encontrar lo siguiente
Microsoft 8.00 Excel Objetc
Microsoft 11.00 Excel Objetc
Eso es según la versión que tienes Instalado en tu PC
Ahora que si no quieres Hacer Referencias, puedes Crear el Objeto con el CreateObject, pero cuando codifique al poner el «.» no te va a mostrar sus propiedades
Dim prgExcel as variant Private Sub LlenaExcel() Set prgExcel = CreateObject("Excel.Application") prgExcel.Workbooks.Add prgExcel.Sheets(1).Name = "Prueba" .............. .............. end sub
En lo personal yo hago referencia al Objeto, hago el programa, luego le quito la referencia y creo el Objeto con CreateObject