error 91

2 envíos / 0 nuevos
Último envío
Cesar Alberto P...
Imagen de Cesar Alberto Parra Moreno
Offline
última acción: Hace 6 años 10 meses
alta: 19/05/2017 - 15:09
Puntos: 25
error 91

Hola buenos dias.

al ejecutar el siguiente codigo me sale el error 91 .....

Sub abrirword()

 

   Dim objWord as object

   Dim objDoc As Object

   Dim objSelection As Object

   Dim objpath As Object

   Dim datos As String

   Dim reem As String

   Dim i As Integer

     

   objpath = Hoja2.Range("E4").Text & Hoja2.Range("E3").Text & ".docx"

  Set objWord = CreateObject("Word.Application")

  

   objWord.Visible = True

   objWord.Documents.Add Template:=objpath, NewTemplate:=False, DocumentType:=0

   For i = 0 To Hoja2.Range("E1").Value

   datos = Hoja2.Range("C" & 1).Text

   reem = Hoja2.Range("A" & 1).Text

      With objWord.Selection.Find

      .Text = datos

   .remplacement.Text = reem

   .Execute replase:=2

   End With

   Next i

   objWord.Active

   End Sub

he leido sobre el error y bueno la verdad no tengo no se que sera, pido su ayuda y mil gracias.

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 11 horas 27 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
varias erratas

Varias erratas en tu código:

.Replacement.Text = reem

.Execute replace:=2

 

Para depurar este tipo de código que utiliza automatización (manipular Word desd Excel), es mejor que añadas una referencia a Microsoft Word xx Object Library, esto se hace en Herramientas>Referencias

Declara las variables de objeto con el tipo adecuado de word para que las reconozca.

Cuando todo funcione, entonces sí puedes cambiar los tipos por el genérico Object para realizar el LateBinding (sin refrencia a la biblioteca de objetos de word), es decir, crear los objetos en tiempo de ejecución y que no dependan de las referencias a la versión de Word

 

------
Ya sé Excel, pero necesito más.