Обновление нескольких исходных ссылок для изображений в WORD 2016 через VBA - PullRequest
0 голосов
/ 03 мая 2018

Я работал над некоторым кодом VBA, чтобы изменить все исходное местоположение всех изображений. Однако он обнаруживает только 3 InlineShapes. Есть много других. Я вставил все изображения как Insert и LInk

Sub ChangesSource()
Dim i As Long
Documents("Document.docx").Activate
Debug.Print ActiveDocument.Name

With ActiveDocument

For i = 1 To .InlineShapes.Count
With .InlineShapes(i)
'.shp.LinkFormat.SourceFullName =


.LinkFormat.SourceFullName = Replace(.LinkFormat.SourceFullName, "C:\oldLink", "C:\newLink")

Debug.Print .LinkFormat.SourceFullName
'Debug.Print InlineShapes(i).SourceFullName
End With
Next i
End With
End Sub

Ответы [ 2 ]

0 голосов
/ 05 мая 2018

Попробуйте:

Sub ChangeSource()
Dim i As Long
With ActiveDocument
  For i = .InlineShapes.Count To 1 Step -1
    With .InlineShapes(i)
      If Not .LinkFormat Is Nothing Then
        With .LinkFormat
          .SourceFullName = Replace(.SourceFullName, .SourcePath, "C:\NewPath\")
        End With
      End If
    End With
  Next i
End With
End Sub
0 голосов
/ 04 мая 2018

Если вы сохраните документ в более старом формате .doc, нажатие Alt-F9 откроет поля INCLUDEPICTURE, содержащие ссылки. Затем вы можете использовать Найти / Заменить, чтобы обновить пути (обратите внимание на использование \\ для разделителей пути). Нажмите Alt-F9, затем Ctrl-Shift-F9 обновит связанные изображения. Затем вы можете повторно сохранить документ в формате docx, если хотите. Другой вариант - использовать макрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...