Exportar datos a Excel
‘*******************************************************************************
‘* cmdExportar1_Click
‘* Este es un ejemplo de como realizar la exportación de los datos de una tabla
‘* o consulta de Access a Excel
‘* ESH 18/11/04 22:53
‘*******************************************************************************
Private Sub cmdExportar1_Click()
Dim rst As DAO.Recordset, _
strSQL As String, _
strLibro As String, _
xls As Object ‘ Excel.Application
‘ abro una instancia de Excel
on Error GoTo cmdExportar1_Click_TratamientoErrores
Set xls = CreateObject(“Excel.Application”)
‘ con ella abro el libro ExportaraExcel
strLibro = CurrentProject.Path & “\fichero_rutas.xls”
xls.Workbooks.Open (strLibro)
‘ lo hago visible o no
xls.Visible = True ‘ o false
‘ activo la Hoja 1
xls.Worksheets(“Hoja1″).Activate
‘ construyo la cadena de la SELECT
strSQL = “SELECT id, marca, modelo, empleado, direccion ” _
& “FROM vehiculos ORDER BY id”
‘ abro el recordset
Set rst = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
‘ si el recordset no está vacio
If Not RecordsetVacioDAO(rst) Then
‘borro el contenido
xls.ActiveSheet.Range(“A2″).select
xls.Selection.CurrentRegion.select
xls.Selection.Clear
‘ escribo el nombre de los campos empezando en B2
xls.ActiveSheet.Range(“A1″).select
For Each Campo In rst.Fields
xls.ActiveCell = Campo.Name
‘ me desplazo una celda a la derecha
xls.ActiveCell.Offset(0, 1).select
Next
‘formateo el encabezado
xls.ActiveSheet.Range(“A1:K1″).select
With xls.Selection
.Font.Bold = True
‘.Horizontalalignment = xlCenter
End With
With xls.Selection.Interior
.ColorIndex = 15
.Pattern = xlSolid
End With
‘ me posiciono en la celda en que depositaré los datos
xls.ActiveSheet.Range(“A2″).select
‘ pego los datos (el recordset completo)
xls.ActiveCell.CopyFromRecordset rst
End If
‘ guardo los datos
xls.ActiveWorkbook.Save
‘ cierro excel
xls.Application.Quit
Set xls = Nothing
‘ cierro el recordset
CierraRecordsetDAO rst
DoCmd.Quit
cmdExportar1_Click_Salir:
On Error GoTo 0
Exit Sub
cmdExportar1_Click_TratamientoErrores:
MsgBox “Error ” & Err.Number & ” en proc. cmdExportar1_Click de Documento VBA Form_frmExportaraExcel (” & Err.Description & “)”, vbOKOnly + vbCritical
GoTo cmdExportar1_Click_Salir
End Sub ‘ cmdExportar1_Click