Dar formato a reporte desde visual basic 6.0
Hola a todos , tengo este codigo y quiero darle un mejor formato, como ponerle titulo(reporte de visitas de (fecha))
un espacion del titulo a las cabeceras de los campos, cambiarle el tipo de letra, ponerle margen al reporte y fondo blanco,
bueno se que es mucho detalle pero haber si alguien me ayuda, gracias.
Private Sub exportar_Datagrid(Datagrid As Datagrid, n_Filas As Long)
On Error GoTo Error_Handler
Dim i As Integer
Dim j As Integer
Me.MousePointer = vbHourglass
If n_Filas = 0 Then
MsgBox "No hay datos para exportar a excel. Se ha indicado 0 en el parámetro Filas ":
Exit Sub
Else
' -- Crear nueva instancia de Excel
Set Obj_Excel = CreateObject("Excel.Application")
' -- Agregar nuevo libro
Set Obj_Libro = Obj_Excel.Workbooks.Open("D:\vb\libro.xlsx")
' -- Referencia a la Hoja activa ( la que añade por defecto Excel )
Set Obj_Hoja = Obj_Excel.ActiveSheet
iCol = 0
' -- Recorrer el Datagrid ( Las columnas )
For i = 0 To DataGrid1.Columns.Count - 1
If DataGrid1.Columns(i).Visible Then
' -- Incrementar índice de columna
iCol = iCol + 1
' -- Obtener el caption de la columna
Obj_Hoja.Cells(1, iCol) = DataGrid1.Columns(i).Caption
' -- Recorrer las filas
For j = 0 To n_Filas - 1
' -- Asignar el valor a la celda del Excel
Obj_Hoja.Cells(j + 2, iCol) = _
DataGrid1.Columns(i).CellValue(DataGrid1.GetBookmark(j))
Next
End If
Next
' -- Hacer excel visible
Obj_Excel.Visible = True
With Obj_Hoja
.Rows(1).Font.Bold = True
' .Rows(1).Font.Color = vbRed
.Rows(1).Size = 9
.Row(1).Name "Arial"
' -- Autoajustar las cabeceras
.Columns("A:Z").AutoFit
End With
End If
' -- Eliminar las variables de objeto excel
Set Obj_Hoja = Nothing
Set Obj_Libro = Nothing
Set Obj_Excel = Nothing
' -- Restaurar cursor
Me.MousePointer = vbDefault
Exit Sub
' -- Error
Error_Handler:
MsgBox Err.Description, vbCritical
On Error Resume Next
Set Obj_Hoja = Nothing
Set Obj_Libro = Nothing
Set Obj_Excel = Nothing
Me.MousePointer = vbDefault
End Sub
un espacion del titulo a las cabeceras de los campos, cambiarle el tipo de letra, ponerle margen al reporte y fondo blanco,
bueno se que es mucho detalle pero haber si alguien me ayuda, gracias.
Private Sub exportar_Datagrid(Datagrid As Datagrid, n_Filas As Long)
On Error GoTo Error_Handler
Dim i As Integer
Dim j As Integer
Me.MousePointer = vbHourglass
If n_Filas = 0 Then
MsgBox "No hay datos para exportar a excel. Se ha indicado 0 en el parámetro Filas ":
Exit Sub
Else
' -- Crear nueva instancia de Excel
Set Obj_Excel = CreateObject("Excel.Application")
' -- Agregar nuevo libro
Set Obj_Libro = Obj_Excel.Workbooks.Open("D:\vb\libro.xlsx")
' -- Referencia a la Hoja activa ( la que añade por defecto Excel )
Set Obj_Hoja = Obj_Excel.ActiveSheet
iCol = 0
' -- Recorrer el Datagrid ( Las columnas )
For i = 0 To DataGrid1.Columns.Count - 1
If DataGrid1.Columns(i).Visible Then
' -- Incrementar índice de columna
iCol = iCol + 1
' -- Obtener el caption de la columna
Obj_Hoja.Cells(1, iCol) = DataGrid1.Columns(i).Caption
' -- Recorrer las filas
For j = 0 To n_Filas - 1
' -- Asignar el valor a la celda del Excel
Obj_Hoja.Cells(j + 2, iCol) = _
DataGrid1.Columns(i).CellValue(DataGrid1.GetBookmark(j))
Next
End If
Next
' -- Hacer excel visible
Obj_Excel.Visible = True
With Obj_Hoja
.Rows(1).Font.Bold = True
' .Rows(1).Font.Color = vbRed
.Rows(1).Size = 9
.Row(1).Name "Arial"
' -- Autoajustar las cabeceras
.Columns("A:Z").AutoFit
End With
End If
' -- Eliminar las variables de objeto excel
Set Obj_Hoja = Nothing
Set Obj_Libro = Nothing
Set Obj_Excel = Nothing
' -- Restaurar cursor
Me.MousePointer = vbDefault
Exit Sub
' -- Error
Error_Handler:
MsgBox Err.Description, vbCritical
On Error Resume Next
Set Obj_Hoja = Nothing
Set Obj_Libro = Nothing
Set Obj_Excel = Nothing
Me.MousePointer = vbDefault
End Sub