Tareas
Vista del formulario de ejemplo
[pic]
Hay una función llamada Exportar_Excel a la cual se le debe pasar el path y el nombre del Libro. El segundo parámetro es el control ListView, el tercer parámetro es opcional y es para el Progressbar, el último parámetro esel índice de la hoja. Por ejemplo :
Call Exportar_Excel("c:\libro.xls", ListView1, ProgressBar1, 2)
Nota . para exportar los datos en un libro nuevo, sin tener que indicar un libro existente, se puede ejecutar el método Add sin ningún parámetro. Es decir en vez de utilizar el método Open, utilizar el método Add del objeto WorkBooks de la siguiente forma:
Set obj_Libro = .Workbooks.Add
Ejemplo
• Agregar un control command
• Un ListView
• Un Progressbar
• Especificar la ruta del libro de Excel
• Indicar en el último argumento el índice de la hoja, por defecto si no se indica, se exportarán los datos en la hoja número 1
Código fuente en un Formulario:
Texto planoCopiar código fuenteImprimir
1. Option Explicit
2.
3.
4. ' ------------------------------------------------------------------
5. ' \\ -- Función para exportar los datos
6. ' ------------------------------------------------------------------
7. Function Exportar_Excel( _
8. sFileName As String, _
9. ListView As ListView, _
10. Optional Progressbar As Progressbar, _
11. Optional SheetIndex As Integer = 1) As Boolean
12.
13. On Error GoTo error_Handler
14.
15. Dim obj_Excel As Object ' -- CREAR EL OBJETO (INSTANCIAR)CON EL OBJETO APLICACION (obj_Excel)
16. Dim obj_Libro As Object
17.
18. Dim iCol As Integer ' -- Variables para las columnas y filas
19. Dim iRow As Integer
20.
21. ' -- Nueva referencia a Excel y nuevo referencia al Libro
22. Set obj_Excel = CreateObject("Excel.Application")
23. With obj_Excel
24. ' -- Abrir el libro
25. Set obj_Libro = .Workbooks.Open(sFileName)
26. End With
27.
28. With obj_Libro
29.
30. ' -- Asignamos El valor Maximo del Progress teniendo
31. ' -- como dato la cantidad de items en el ListView
32. If Not Progressbar Is Nothing Then
33. Progressbar.Max = ListView.ListItems.Count
34. If Not Progressbar.Visible Then Progressbar.Visible = True
35. End If
36.
37. ' -- Referencia a la hoja con índice 1
38. With .Sheets(SheetIndex)
39. ' -- Recorremos la cantidad de items del ListView
40. For iRow = 1 To ListView.ListItems.Count
41. iCol = 1 42. ' -- Asignamos el item actual en la celda
43. .Cells(iRow, iCol) = ListView.ListItems.Item(iRow)
44.
45. ' -- Asignamos el subitem actual en la celda
46. For iCol = 1 To ListView.ColumnHeaders.Count - 1
47. .Cells(iRow, iCol + 1) = ListView.ListItems(iRow).SubItems(iCol)
48. Next
49.
50. If Not Progressbar Is Nothing Then
51. ' -- Aumentamos en 1 la propiedad value
52. Progressbar.Value = Progressbar.Value + 1
53. End If
54....
Regístrate para leer el documento completo.