Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/06/2010, 19:40
masterplan636
 
Fecha de Ingreso: junio-2010
Mensajes: 1
Antigüedad: 13 años, 10 meses
Puntos: 0
ERROR 462 en tiempo de ejecución: El equipo servidor remoto no existe o no

bueno, primeramente un saludo...

bueno, mi problema es el siguiente, tengo un datagrid que quiero pasar a word, con un programita, el datagrid se pasa a mediante un marcador, todo jala bien a la priomero pero luego ya no

ejemplo:

en el Documento de word, se crea una tabla en un marcador, y se van copiando los datos a dicha tabla, a medida que se recorre el datagrid

Controles y referencias para el ejemplo

* Crear un archivo de Word en la carpeta del programa llamado ArchivoWord.Doc. Dentro del archivo crear un marcador, que será el punto
donde se creara una tabla con los datos de un control Datagrid . El marcador debe llamarse "Tabla" o el que quieras pero luego indicarlo en Name:="Nombre del marcador que quieras"

* Añadir la referencia a Ado ( Microsoft Activex data objects )

* Colocar en el formulario un control DataGrid

* Agregar la referencia a Microsoft Word

* Agregar un CommandButton


y este es el codigo fuente de visual basic






1. Option Explicit
2.
3. ' variables para la conexión y el recordset ado
4. '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''
5. Dim cn As ADODB.Connection
6. Dim rs As ADODB.Recordset
7.
8.
9. Private Sub Command1_Click()
10. On Error GoTo ErrSub
11.
12. Dim o_Word As Word.Application
13. Dim Documento As Word.Document
14.
15. Dim c As Integer ' columna
16. Dim f As Long ' fila
17. Dim dato As Variant ' valor de la celda del datagrid
18.
19. ' Establece la referencia al Word
20. Set o_Word = New Word.Application
21.
22. ' Pone el Word visible
23. o_Word.Visible = True
24.
25. 'Abrimos el documento "archivoWord.doc" con Open
26. Set Documento = o_Word.Application.Documents.Open(App.Path + "\archivoWord.doc")
27.
28. 'Nos vamos al marcador llamado "tabla" en el documento, _
29. para insertar la tabla en ese punto
30. Selection.goto What:=wdGoToBookmark, Name:="Tabla"
31.
32. With Documento
33. 'Agregamos la tabla dentro de Word con las _
34. filas y columnas que tenga el datagrid
35. ActiveDocument.Tables.Add Range:=Selection.Range, _
36. NumRows:=DataGrid1.ApproxCount + 1, _
37. NumColumns:=DataGrid1.Columns.Count
38.
39.
40. 'Recorremos el Data Grid para agregar las columnas y filas a nuestra tabla
41. For c = 0 To DataGrid1.Columns.Count - 1
42.
43. DataGrid1.Row = 0
44. ActiveDocument.Tables(1).Cell(1, c + 1).Range.InsertAfter _
45. DataGrid1.Columns(c).Caption 'agregar columnas
46.
47. ' recorre las filas de la columna actual
48. For f = 0 To DataGrid1.ApproxCount - 1
49. ' almacena el dato de la celda del datagrid de la columna actual
50. dato = DataGrid1.Columns(c).CellValue(DataGrid1.GetBookma rk(f))
51. ' agrega el dato a la celda de la tabla
52. ActiveDocument.Tables(1).Cell(f + 2, c + 1).Range.InsertAfter dato
53.
54. Next f
55. Next c
56. End With
57.
58. 'Descargamos los objetos
59. Set o_Word = Nothing
60. Set Documento = Nothing
61.
62.
63. Exit Sub
64.
65. ErrSub:
66. MsgBox Err.Description, vbCritical
67. On Error Resume Next
68. Set o_Word = Nothing
69. Set Documento = Nothing
70.
71.
72. End Sub
73.
74. Private Sub Form_Load()
75.
76. ' Conexión ado
77.
78. Set cn = New ADODB.Connection
79. cn.CursorLocation = adUseClient
80. cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data " & _
81. "Source=C:\Archivos de programa\Microsoft " & _
82. "Visual Studio\VB98\NWIND.MDB;Persist Security Info=False"
83.
84. ' abre la base de datos Nwind.mdb
85. cn.Open
86.
87. ' Crea un recordset
88. Set rs = New ADODB.Recordset
89. ' Llena el recordset
90. rs.Open "Select IdEmpleado,Nombre From empleados", _
91. cn, adOpenStatic, adLockOptimistic
92.
93. ' Enlaza el DataGrid al recordset
94. Set DataGrid1.DataSource = rs
95.
96. Command1.Caption = " Mandar Datagrid a word "
97. End Sub



el problema es:

a la primera funciona bien, pero luego cierras word y presionas el commandbut otra vez y ya marca el erro antes mencionado

ERROR 462 en tiempo de ejecución: El equipo servidor remoto no existe o no

agradeceria mucho que me ayudaran....UN SALUDO