RE:Generar archivo Excell
Si la hay y es muy fàcil, te pongo un ejemplo:
Dim objExcel As Excel.Application
Set objExcel = New Excel.Application
objExcel.Visible = False
'determina el numero de hojas que se mostrara en el Excel
objExcel.SheetsInNewWorkbook = 1
'Crea el Libro
objExcel.Workbooks.Add
'Creas tu record Set
objExcel.Worksheets(1).Activate
objExcel.Sheets(1).Name = "Prueba"
With objExcel.ActiveSheet.Cells(1, 1).Font
.Color = vbRed
.Size = 14
.Bold = True
End With
objExcel.ActiveSheet.Range(objExcel.ActiveSheet.Cells(1, 1), objExcel.ActiveSheet.Cells(1, 8)).Merge
objExcel.ActiveSheet.Range(objExcel.ActiveSheet.Cells(1, 1), objExcel.ActiveSheet.Cells(1, 8)).HorizontalAlignment = xlHAlignCenter
With objExcel.ActiveSheet.Range(objExcel.ActiveSheet.Cells(3, 1), objExcel.ActiveSheet.Cells(3, 8)).Font
.Bold = True
End With
objExcel.ActiveSheet.Cells(1, 1) = "TITULO DE MI REPORTE"
objExcel.ActiveSheet.Cells(3, 1) = "TITULO PARA LA COLUMNA"
objExcel.ActiveSheet.Cells(3, 2) = "OTRO TITULO PARA LA COLUMNA"
objExcel.ActiveSheet.Columns("A").ColumnWidth = 25
objExcel.ActiveSheet.Columns("B").ColumnWidth = 40
objExcel.ActiveSheet.Columns("A").HorizontalAlignment = xlHAlignCenter
objExcel.ActiveSheet.Columns("B").HorizontalAlignment = xlHAlignCenter
'Esta Instrucciòn pasa tu recorset a la hoja de Excel !!!
objExcel.ActiveSheet.Cells(4, 1).CopyFromRecordset rsPaso
objExcel.Visible = True
Set objExcel = Nothing
Saludos