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

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

Я получаю «Определяемый пользователем тип, не определенный» для «Dim exWb As Excel».Рабочая тетрадь. Я также уверен, что мне понадобится больше кода для включения ссылок типа «Рабочий лист», которые нельзя обновить с помощью команды «inlineShape».

С этим кто-нибудь может помочь? ТИА

1 ответ1

0

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .