Как обновить путь к исходному файлу для OLEObject в vba издателя - PullRequest
0 голосов
/ 23 апреля 2019

Publisher VBA

Как повторно установить исходный файл для всех объектов OLEObject в Publisher.Файл издателя и исходный файл были скопированы и переданы мне в сети.Однако ссылки все битые.OLEOjbects варьируется от Excel файла.

Это то, что я пробовал до сих пор, но это не работает, потому что .SourceFullName только для чтения.

Есть ли способ на самом деле назначить новый путь?

Private Sub UpdateObjectPath()

  'get source file
  Dim dlgOpen As FileDialog
  Dim sourceFile As String

  Set dlgOpen = Application.FileDialog(Type:=msoFileDialogOpen)
  If dlgOpen.Show = -1 Then
    sourceFile = dlgOpen.SelectedItems(1)
  Else
    Exit Sub
  End If

  'update links
  Dim shp As Shape
  Dim shpPage As Page

  For Each shpPage In ActiveDocument.Pages
    For Each shp In ActiveDocument.Pages(shpPage.PageIndex).Shapes
        If shp.Type = pbLinkedOLEObject Then
            'this does not work
            shp.LinkFormat.SourceFullName = sourceFile
        End If
    Next
  Next

End Sub

Примечание: я не смог найти в меню опций, где вы могли бы изменить связанные места.Может быть, я что-то упустил.

...