43 Exportar FlexGrid a una tabla en un documento de Word
<Volver> Anterior Siguiente
Ejemplo que exporta los registros cargados en un control Microsoft
Hierarchical FlexGrid, a una tabla en un documento de Word
El ejemplo recorre las filas y columnas del Flexgrid, para insertarlas y
copiarlas en un nuevo documento de word.
Formulario
http://www.recursosvisualbasic.com.ar/htm/trucoscodigofuentevisualbasic/43.htm 1/5
2017627 Exportar FlexGrid a Word
Y en el documento se crea la tabla con los datos de la grilla
http://www.recursosvisualbasic.com.ar/htm/trucoscodigofuentevisualbasic/43.htm 2/5
2017627 Exportar FlexGrid a Word
Controles
un control CommandButton
un control Microsoft Hierarchical FlexGrid
La referencia de Word desde el menú referencias de visual basic
La referencia a Ado ( Microsoft Activex data objects )
Código fuente en un formulario
Texto plano Imprimir
1. Dim cn As ADODB.Connection
2. Dim rs As ADODB.Recordset
3.
4. '***************************************************************************
5. '* Referencias: Agregar la referencia Word, y también un control _
6. Microsoft Hierarchical FlexGRid
7. '***************************************************************************
8.
9. Private Sub Command1_Click()
10.
11. 'Variable de tipo Aplicación de Word
12. Dim o_Word As Word.Application
13. 'Variable de tipo documento de Word
14. Dim Documento As Word.Document
15. ' variable para hacer referencia al párrafo
16. Dim Parrafo As Table
17.
18. 'F es para recorrer la Fila y C para la Columna
19. Dim F, C As Double
20.
21. 'Nuevo instancia del objeto
22. Set o_Word = New Word.Application
23. 'Agrega un Nuevo documento de word
24. Set Documento = o_Word.Documents.Add
25.
26. 'Creamos una tabla dentro del nuevo documento
27. Set Parrafo = Documento.Tables.Add(Documento.Range(0, 0), _
28. MSHFlexGrid1.Rows, MSHFlexGrid1.Cols)
29.
30. 'Hacemos visible el word
31. o_Word.Visible = True
32.
33. 'Recorremos el MsHFlexgrid para agregar las columnas y filas a nuestra tabla
34. For C = 0 To MSHFlexGrid1.Cols 1
http://www.recursosvisualbasic.com.ar/htm/trucoscodigofuentevisualbasic/43.htm 3/5
2017627 Exportar FlexGrid a Word
34. For C = 0 To MSHFlexGrid1.Cols 1
35. 'Agregar columnas
36. Parrafo.Cell(0, C + 1).Range.Text = MSHFlexGrid1.TextMatrix(0, C)
37. 'Agregar filas
38. For F = 0 To MSHFlexGrid1.Rows 1
39. Parrafo.Cell(F + 1, C + 1).Range.Text = MSHFlexGrid1.TextMatrix(F, C)
40. Next F
41. Next C
42.
43. 'Eliminamos los objetos
44. Set o_Word = Nothing
45. Set Documento = Nothing
46. Set Parrafo = Nothing
47.
48. Exit Sub
49.
50. 'error
51. ErrSub:
52.
53. MsgBox Err.Description
54.
55. On Error Resume Next
56.
57. Set o_Word = Nothing
58. Set Documento = Nothing
59. Set Parrafo = Nothing
60.
61.
62. End Sub
63.
64. Private Sub Form_Load()
65.
66. MSHFlexGrid1.FixedCols = 0
67.
68. ' Conexión ado
69.
70. Set cn = New ADODB.Connection
71. cn.CursorLocation = adUseClient
72. cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data " & _
73. "Source=C:\Archivos de programa\Microsoft " & _
74. "Visual Studio\VB98\NWIND.MDB;Persist Security Info=False"
75.
76. ' abre la base de datos Nwind.mdb
77. cn.Open
78.
79. ' Crea un recordset
80. Set rs = New ADODB.Recordset
81. ' Llena el recordset
82. rs.Open "Select IdEmpleado,Nombre From empleados", _
83. cn, adOpenStatic, adLockOptimistic
84.
85. ' Enlaza el MsHFlexGrid al recordset
http://www.recursosvisualbasic.com.ar/htm/trucoscodigofuentevisualbasic/43.htm 4/5
2017627 Exportar FlexGrid a Word
85. ' Enlaza el MsHFlexGrid al recordset
86. Set MSHFlexGrid1.DataSource = rs
87.
88. Command1.Caption = " Mandar a la tabla de word "
89. End Sub
Recursos vb6 Enlaces relacionados:
Dll Activex para imprimir un FlexGrid
Exportar un DbGrid a Excel
Exportar un DataGrid a Excel
Exportar un Recordset ADO a Excel
Buscar en Recursos vb
Buscar
http://www.recursosvisualbasic.com.ar/htm/trucoscodigofuentevisualbasic/43.htm 5/5