Cuadro de diálogo al exportar grilla a escel
Publicado por Martin (3 intervenciones) el 27/08/2017 21:02:08
Hola, Que tal!
Estoy exportando los datos de un datagrid a un excel y quisiera poder poner un cuadro diálogo para poder guardar el archivo. Les dejo el código:
Slds!
Estoy exportando los datos de un datagrid a un excel y quisiera poder poner un cuadro diálogo para poder guardar el archivo. Les dejo el código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
Private Sub ExportarGrilla(grGrilla As DataGrid)
'Icono modo de espera
Dim i As Integer
Dim j As Integer
Dim TotalFilas As Long
' -- Colocar el cursor de espera mientras se exportan los datos
Me.MousePointer = vbHourglass
TotalFilas = grGrilla.ApproxCount
' -- Crear nueva instancia de Excel
Set Obj_Excel = CreateObject("Excel.Application")
' -- Agregar nuevo libro
Set Obj_Libro = Obj_Excel.Workbooks.Add
' -- Referencia a la Hoja activa ( la que añade por defecto Excel )
Set Obj_Hoja = Obj_Excel.ActiveSheet
iCol = 0
' -- Recorrer el grGrilla ( Las columnas )
For i = 0 To grGrilla.Columns.Count - 1
If grGrilla.Columns(i).Visible Then
' -- Incrementar índice de columna
iCol = iCol + 1
' -- Obtener el caption de la columna
Obj_Hoja.Cells(1, iCol) = grGrilla.Columns(i).Caption
' -- Recorrer las filas
For j = 0 To TotalFilas - 1
' -- Asignar el valor a la celda del Excel
Obj_Hoja.Cells(j + 2, iCol) = _
grGrilla.Columns(i).CellValue(grGrilla.GetBookmark(j))
Next
End If
Next
' -- Opcional : colocar en negrita y de color rojo los enbezados en la hoja
With Obj_Hoja
.Rows(1).Font.Bold = True
.Rows(1).Font.Color = vbRed
' -- Autoajustar las cabeceras
.Columns("A:Z").AutoFit
End With
Obj_Libro.Save
Obj_Excel.Quit
' -- Eliminar las variables de objeto excel
Set Obj_Hoja = Nothing
Set Obj_Libro = Nothing
Set Obj_Excel = Nothing
' -- Restaurar cursor
Me.MousePointer = vbDefault
End Sub
Slds!
Valora esta pregunta
0