Vous êtes sur la page 1sur 5

2017­6­27 Exportar datos de Visual basic a Microsoft Word

Inicio Ejemplos vb Ocx ­ Activex Api vb Tutoriales ­ Manuales Código fuente vb.net

 Sección de códigos , trucos y ejemplos para visual basic Búsqueda personalizada   Buscar

45 ­ Exportar los datos de un DataGrid a una tabla de Word usando el control
Ado
<Volver> ­ Anterior ­ Siguiente

Ejemplo  que  exporta  los  registros  de  un  control  DataGrid  a  un


documento de Microsoft word

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/trucos­codigofuente­visual­basic/45.htm 1/5
2017­6­27 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/trucos­codigofuente­visual­basic/45.htm 2/5
2017­6­27 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/trucos­codigofuente­visual­basic/45.htm 3/5
2017­6­27 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/trucos­codigofuente­visual­basic/45.htm 4/5
2017­6­27 Exportar datos de Visual basic a Microsoft Word

Recursos visual basic ­  Buscar ­  Privacidad ­ Copyright © 2005 ­ 2009 ­ www.recursosvisualbasic.com.ar

http://www.recursosvisualbasic.com.ar/htm/trucos­codigofuente­visual­basic/45.htm 5/5