Actualización de rutas de enlaces con Word VBA

Actualización de rutas de enlaces con Word VBA

Tengo los siguientes enlaces a Excel en un documento de Word:

http://i12.photobucket.com/albums/a212/hypersonik/links_zpsy9hghggl.png

El problema es que cuando se realizan cambios, la versión del documento tanto en la hoja de Excel a la que se hace referencia como en el documento de Word cambia.

Como tal, necesitaré actualizar la ruta del enlace.

Me gustaría hacer esto con una macro VBA y esto es lo que tengo hasta ahora:

Sub Replace_Link()
Dim iShp As InlineShape
Dim exWb As Excel.Workbook
For Each iShp In ActiveDocument.InlineShapes
With ActiveDocument
        Set exWb = objExcel.Workbooks.Open(.Path & "\" & Replace$(.Name, ".docm", ".xlsm"))
    End With
  With iShp
     If Not .OLEFormat Is Nothing Then
      If Split(.OLEFormat.ClassType)(0) = "Excel" Then
        .LinkFormat.SourcePath = exWb
  End If
End If
  End With
Next
End Sub

Obtengo un 'Tipo definido por el usuario no definido' para 'Dim exWb As Excel.Workbook'. También estoy bastante seguro de que necesitaré más código para incluir los enlaces de tipo 'Hoja de trabajo' que no se pueden actualizar con el comando 'inlineShape'.

¿Es esto algo en lo que alguien pueda ayudar? tia

Respuesta1

¿Ha agregado una referencia en su proyecto VBA a la "Biblioteca de objetos de Microsoft Excel 14.0"? (NB: La versión 14.0 puede ser diferente dependiendo de la versión de Excel que tengas instalada)

En su ventana de VBA, en el menú Herramientas, seleccione Referencias para abrir el cuadro de diálogo Referencias - Proyecto. Luego, desplácese hacia abajo en la lista, busque la biblioteca de Microsoft Excel y marque la casilla (entonces debería aparecer en la parte superior de su lista de referencias).

información relacionada