Обновление путей ссылок с помощью Word VBA

Обновление путей ссылок с помощью Word VBA

У меня есть следующие ссылки на Excel в документе Word:

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

Проблема в том, что при внесении изменений изменяется версия документа как на указанном листе Excel, так и в документе Word.

В связи с этим мне необходимо обновить путь ссылки.

Я хотел бы сделать это с помощью макроса VBA, и вот что у меня получилось:

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

Я получаю 'User defined type not defined' для 'Dim exWb As Excel.Workbook'. Я также уверен, что мне понадобится больше кода для включения ссылок типа 'Worksheet', которые нельзя обновить с помощью команды 'inlineShape'.

Кто-нибудь может с этим помочь? TIA

решение1

Добавили ли вы ссылку в свой проект VBA на «Библиотеку объектов Microsoft Excel 14.0»? (Примечание: 14.0 может отличаться в зависимости от установленной версии Excel)

В окне VBA в меню Tools выберите References, чтобы открыть диалоговое окно References - Project. Затем прокрутите список вниз и найдите библиотеку Microsoft Excel, отметив ее галочкой (она должна появиться в верхней части списка ссылок).

Связанный контент