Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

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

Estas en el tema de ERROR 462 en tiempo de ejecución: El equipo servidor remoto no existe o no en el foro de Visual Basic clásico en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 14/06/2010, 19:40
 
Fecha de Ingreso: junio-2010
Mensajes: 1
Antigüedad: 9 años, 3 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
  #2 (permalink)  
Antiguo 15/06/2010, 04:09
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 13 años, 1 mes
Puntos: 29
Respuesta: ERROR 462 en tiempo de ejecución: El equipo servidor remoto no existe o no

Prueba esta sub para el commandbutton:

Código vb:
Ver original
  1. Private Sub Command1_Click()
  2.   On Error GoTo ErrSub
  3.   Dim o_Word As Word.Application
  4.   Dim Documento As Word.Document
  5.  
  6.   Dim c As Integer ' columna
  7.  Dim f As Long ' fila
  8.  Dim dato As Variant ' valor de la celda del datagrid
  9.  
  10.   ' Establece la referencia al Word
  11.  Set o_Word = New Word.Application
  12.  
  13.   ' Pone el Word visible
  14.  o_Word.Visible = True
  15.  
  16.   'Abrimos el documento "archivoWord.doc" con Open
  17.  Set Documento = o_Word.Application.Documents.Open(App.Path + "\archivoWord.doc")
  18.  
  19.   'Nos vamos al marcador llamado "tabla" en el documento, _
  20.   para insertar la tabla en ese punto
  21.  o_Word.Selection.GoTo What:=wdGoToBookmark, Name:="Tabla"
  22.  
  23.   With Documento
  24.     'Agregamos la tabla dentro de Word con las _
  25.     filas y columnas que tenga el datagrid
  26.    .Tables.Add Range:=o_Word.Selection.Range, _
  27.     NumRows:=DataGrid1.ApproxCount + 1, _
  28.     NumColumns:=DataGrid1.Columns.Count
  29.  
  30.     'Recorremos el Data Grid para agregar las columnas y filas a nuestra tabla
  31.    For c = 0 To DataGrid1.Columns.Count - 1
  32.  
  33.       DataGrid1.Row = 0
  34.       .Tables(1).Cell(1, c + 1).Range.InsertAfter _
  35.       DataGrid1.Columns(c).Caption 'agregar columnas
  36.    
  37.       ' recorre las filas de la columna actual
  38.      For f = 0 To DataGrid1.ApproxCount - 1
  39.         ' almacena el dato de la celda del datagrid de la columna actual
  40.        dato = DataGrid1.Columns(c).CellValue(DataGrid1.GetBookmark(f))
  41.         ' agrega el dato a la celda de la tabla
  42.        .Tables(1).Cell(f + 2, c + 1).Range.InsertAfter dato
  43.      
  44.       Next f
  45.     Next c
  46.   End With
  47.  
  48.   'Descargamos los objetos
  49.  Set o_Word = Nothing
  50.   Set Documento = Nothing
  51.  
  52.   Exit Sub
  53.  
  54. ErrSub:
  55.   MsgBox Err.Description, vbCritical
  56.   On Error Resume Next
  57.   Set o_Word = Nothing
  58.   Set Documento = Nothing
  59.  
  60. End Sub

Saludos
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!

Etiquetas: equipo, existe, remoto, servidores
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:52.