Académique Documents
Professionnel Documents
Culture Documents
45 Exportar los datos de un DataGrid a una tabla de Word usando el control
Ado
<Volver> Anterior Siguiente
Este ejemplo muy simple,es practicamente igual al de la página anterior, salvo
que, en ves de exportar los registros del DataGrid a un marcador del
documento, simplemente crea una tabla con la misma cantidad de columnas y
filas que la grilla donde esté ubicada la selección actual, y dentro copia los
registros.
Vista del formulario de ejemplo
http://www.recursosvisualbasic.com.ar/htm/trucoscodigofuentevisualbasic/45.htm 1/5
2017627 Exportar datos de Visual basic a Microsoft Word
Controles para el ejemplo
Un control DataGrid llamado Datagrid1
Un control Ado llamado Adodc1
Especificar la referencia a Microsoft Word object library desde el menú referencias de visual basic
Por último agregar un CommadButton para ejecutar el código que exporta los datos del Datagrid al documento de Word
Código fuente en el formulario:
Texto plano Imprimir
1. Option Explicit
2.
3. Private Sub Command1_Click()
4.
5. On Error GoTo ErrSub
6.
7. 'Variable de tipo Word Aplication
8. Dim o_Word As Word.Application
9. 'Variable de objeto para hacer referencia al documento
http://www.recursosvisualbasic.com.ar/htm/trucoscodigofuentevisualbasic/45.htm 2/5
2017627 Exportar datos de Visual basic a Microsoft Word
9. 'Variable de objeto para hacer referencia al documento
10. Dim Documento As Word.Document
11.
12. 'Variable de tipo tabla para poder hacer _
13. referencia a la tabla dentro del Word
14. Dim Parrafo As Table
15.
16.
17. 'La f es para referenciar a las filas y la _
18. C para las columnas de la tabla de Word
19. Dim F As Long
20. Dim C As Integer
21. Dim dato As Variant
22.
23. 'nuevo objeto de tipo Word Application
24. Set o_Word = New Word.Application
25.
26. 'hacemos visible el documento
27. o_Word.Visible = True
28.
29. 'Añadimos un Nuevo documento de word
30. Set Documento = o_Word.Documents.Add
31.
32. 'creamos una tabla dentro del documento
33. Set Parrafo = Documento.Tables.Add(Documento.Range(0, 0), _
34. DataGrid1.ApproxCount + 1, DataGrid1.Columns.Count)
35.
36. For C = 0 To DataGrid1.Columns.Count 1
37. DataGrid1.Row = 0
38. ' Agregar las columnas
39. Parrafo.Cell(1, C + 1).Range.InsertAfter DataGrid1.Columns(C).Caption
40.
41. ' recorre las filas de la columna actual
42. For F = 0 To DataGrid1.ApproxCount 1
43. ' almacena el dato de la celda del datagrid de la columna actual
44. dato = DataGrid1.Columns(C).CellValue(DataGrid1.GetBookmark(F))
45. ' agrega el dato a la celda de la tabla
46. Parrafo.Cell(F + 2, C + 1).Range.InsertAfter dato
47.
48. Next F
49.
50. Next C
51.
52. 'descargamos los objetos creados
53. Set o_Word = Nothing
54. Set Documento = Nothing
55. Set Parrafo = Nothing
56.
57. Exit Sub
58.
59. ErrSub:
60.
http://www.recursosvisualbasic.com.ar/htm/trucoscodigofuentevisualbasic/45.htm 3/5
2017627 Exportar datos de Visual basic a Microsoft Word
60.
61. MsgBox Err.Description, vbCritical
62. On Error Resume Next
63. Set Parrafo = Nothing
64. Set Documento = Nothing
65. Set o_Word = Nothing
66.
67. End Sub
68.
69. Private Sub Form_Load()
70.
71. ' propiedades para el control Ado
72. ''''''''''''''''''''''''''''''''''''''''''''''''''''''
73. With Adodc1
74. .CursorLocation = adUseClient
75. ' cadena de conexión ( usa la base de datos nwind de visual basic)
76. .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source" & _
77. "=C:\Archivos de programa\Microsoft Visual " & _
78. "Studio\VB98\NWIND.MDB;Persist Security " & _
79. "Info=False"
80.
81. .CommandType = adCmdText
82. ' comando sql
83. .RecordSource = "Select IdEmpleado,Nombre From Empleados"
84. ' refresca el recordset
85. .Refresh
86. End With
87.
88. 'Llenamos el Datagrid con los datos del recordset del control Ado
89. Set DataGrid1.DataSource = Adodc1.Recordset
90.
91.
92. End Sub
Buscar en Recursos vb
Buscar
http://www.recursosvisualbasic.com.ar/htm/trucoscodigofuentevisualbasic/45.htm 4/5
2017627 Exportar datos de Visual basic a Microsoft Word
http://www.recursosvisualbasic.com.ar/htm/trucoscodigofuentevisualbasic/45.htm 5/5