Macro escrita en word 2007. En word 2017 da problemas (error de compilación: no se puede encontrar el proyecto o la biblioteca)

He escrito una macro en word 2007, y al ejecutar la macro en una versión word 2017, da problemas. En este caso sale el mensaje de (error de compilación: no se puede encontrar el proyecto o la biblioteca).

Mi problema es que no sé, que referencias disponibles de la biblioteca debo activar.

(Mi macro en word trata de coger datos de un excel y utilizarlos en un documento word. Lo primero pregunta en que numero de fila están los datos y sustituir datos de word a excel.

Primero me da problemas con la variable objeto, cuando lo solvento, me da problemas con la variable, pera, y asi sucesivamente. Cambio cosas pero nunca cambia. No se que hacer...

Set objeto = CreateObject("excel.application")

Workbooks.Open ("D:\BASE DATOS FORMACION\FORMACIÓN.xlsm")

' Dim PERA As Integer

PERA = InputBox("NUMERO EN LA BASE DE DATOS", "TRABAJADOR")

If PERA = "" Then

MsgBox ("LA MACRO SE DETENDRA AL NO INTRODUCIR NINGUN DATO")

' Cierro la aplicacion

Set objeto = Nothing

Set objeto = Nothing

Application.DisplayAlerts = False

Workbooks("FORMACIÓN.XLSM").Close

Application.DisplayAlerts = True

Exit Sub

End If

If Not IsNumeric(PERA) Then

MsgBox ("LA MACRO SE DETENDRA AL NO INTRODUCIR UN VALOR NUMERICO")

' Cierro la aplicacion

Set objeto = Nothing

Set objeto = Nothing

Application.DisplayAlerts = False

Workbooks("FORMACIÓN.XLSM").Close

Application.DisplayAlerts = True

Exit Sub

End If

If Cells(PERA, 1) = "" Then

MsgBox ("LA MACRO SE DETENDRA YA QUE ESTE NUMERO NO EXISTE EN LA BASE DE DATOS")

' Cierro la aplicacion

Set objeto = Nothing

Application.DisplayAlerts = False

Workbooks("FORMACIÓN.XLSM").Close

Application.DisplayAlerts = True

Exit Sub

End If

D = Cells(PERA, 15)

E = Cells(PERA, 13)

F = Cells(PERA, 14)

GG = MsgBox("EL TRABAJADOR ELEJIDO ES " & D & " " & E & " " & F, vbYesNo, TRABAJADOR)

If GG = vbYes Then

For i = 1 To 150

DATO = Worksheets("BASE").Cells(PERA, i)

Selection.TypeText Text:=DATO

Selection.TypeParagraph

Next i

Else

MsgBox ("LA MACRO SE DETENDRA AL NO SER EL TRABAJADOR ELEJIDO")

' Cierro la aplicacion

Set objeto = Nothing

Application.DisplayAlerts = False

Workbooks("FORMACIÓN.XLSM").Close

Application.DisplayAlerts = True

Exit Sub

End If

Selection.WholeStory

Selection.Range.Case = wdUpperCase

' Cierro la aplicacion

Application.DisplayAlerts = False

Workbooks("FORMACIÓN.XLSM").Close

Application.DisplayAlerts = True

Set objeto = Nothing

... Y la macro sigue

Respuesta
1

[Hola

Primero que nada asumo que te refieres a Word 2016, ya que no existe Word 2017. Segundo, si tu macro te funcionaba correctamente en Word 2007 lo primero que debo decirte es que NO cambies nada ya que, tal cual la has copiado/pegado aquí, no estás respetando el objeto Excel creado y estás mezclando instrucciones de VBA de Word con VBA de Excel, de forma tal que jamas te funcionará.

Una vez que la dejas tal cual estaba, en el editor de VBA nada a "Herramientas" - "Referencias..." y ahí desmarca cualquiera que esté antecedida de la palabra "Falta", "Missing" o similar. Una vez hecho eso busca la que dice "Microsoft Excel 16.0 Object Library" y márcala. Después de eso no deberías tener problema.

Saludos]

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas