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