Error en Visual Basic (error de automatización) al enviar datos al Word 2000

Se me presenta un error en visual basic 6 cuando intento enviar datos hacia word2000.. El error es el siguiente ("ERROR '-2147417846 (8001010a) En tiempo de ejecución - Error de automatización").. Esto me da cuando ejecuta el siguiente código..
Dim objword as word.application
o
Dim objword as object
Set objword = CreateObject ("Word.Application") 'probe de las dos formas pero sin resultados positivos..ya tengo cargada la libreria para word 9...

1 Respuesta

Respuesta
1
Bien, este error suele ocurrir cuando el VB6 no encuentra la referencia apropiada a la librería.
Intenta agregar la referencia tanto a office como a microsoft word en propiedades del proyecto/referencias del VB6. Si no la encuentras tienes un botón (examinar) que te permite buscarla a través de un dialogbox.
Otra cosa que puedes intentar es copiar la rutina que tienes hecha en VB6 y pegarla en un módulo de macros de Excel (para acceder aquí pulsa ALT+F11 desde Excel y agregas un modulo donde pegas tu rutina) y agregar la referencia a word en Excel (Herramientas/Referencias). Si te funciona puedes intentar ver cual es el fichero .ocx o .dll que hace referencia el Excel y utilizarlo en las referencias de VB6.
Ojo: Acabo de hacer la prueba desde Excel 2003 y ha funcionado. También he visto la librería que utilicé y es "MSWORD.OLB", que desde la pantalla de referencias está como "Microsoft Word 11.0 Object Library"
El error que te está dando es porque estas intentando usar un componente ocx al cual no le has colocado una referencia válida.
Genial, me has ayudado muchísimo ... gracias
Quería agregar a mi respuesta anterior que hace un par de días respondía algo parecido que tal vez te pueda servir. Anexo la respuesta que dí a otro usuario
La pregunta era:
"crear una carta en word desde Excel"
Tengo una serie de datos en Excel y quiero con una macro en Visual basic quiero abrir un word, escribir el texto deseado e ir pegando los valores de las celdas que yo desee en el word.
Yo respondí lo siguiente:
"Lo primero que tienes que hacer es agregar una referencia a Word en Excel. Para hacer esto, en el editor de macros de Excel pinchas en Herramientas/Referencias y en la lista que aparece buscas Microsoft Word.
Una vez que ya tienes la referencia pegas el siguiente código:
Public Sub generaDocumento()
Dim objWord As Word.Application
Dim cadena As String
cadena = "Esto es una prueba del texto que se puede grabar agregando el dato de la "
cadena = cadena & "columna A1: " & ThisWorkbook.Worksheets("Hoja1").Range("A1").Value
cadena = cadena & " y su valor correspondiente: " & ThisWorkbook.Worksheets("Hoja1").Range("B1").Value
Set objWord = CreateObject("Word.Application")
objWord.Documents.Add
objWord.ActiveDocument.Content.FormattedText.Text = cadena
objWord.ActiveDocument.SaveAs "c:\pruebaword"
objWord.Quit True
Set objWord = Nothing
End Sub
La variable cadena deberá tener todo el contenido de la carta a generar incluyendo los datos de Excel (que en este ejemplo se encuentran en las celdas A1 y B1) que deseas agregar.
Como esta macro es de prueba no le he puesto control de errores pero debería tenerlo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas