Llamar a Excel y llenarlo con datos de un RecordSet

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *