Я хочу, чтобы в документе Word с более чем 100 связанными текстовыми файлами изменилось имя пути в ссылке на текстовый файл. Я скопировал макрос, который точно должен делать то, что я хочу, но я продолжаю получать ошибку 91 в строке ".SourceFullName = Replace (.SourceFullName, oldFilePath, newFilePath)". Я пытался обойти это, но я не могу найти решение.
Кто-нибудь знает, как решить эту проблему?
Я использовал подобный код в макросе Word, но это дает ту же проблему.
Ниже кода VBA, с которым я работаю в Excel.
Sub UpdateWordLinks()
Dim oldFilePath As String
Dim newFilePath As String
Dim sourceFileName As String
Dim newFileName As String
Dim wrdApp As Object
Dim wrdDocument As Object
Dim i As Integer
Dim Counter As Integer
'The file name and path of the file to update
sourceFileName = "c:\test.docx"
'The old file path as a string (the text to be replaced)
oldFilePath = "R:\Manuals\"
'The new file path as a string (the text to replace with)
newFilePath = "C:\NL\Manuals\"
'Set the variable to the Word Application
Set wrdApp = CreateObject("Word.Application")
'Make the Word application visible
wrdApp.Visible = True
'Set the variable to the Word Document
Set wrdDocument = wrdApp.Documents.Open(sourceFileName)
'Use Replace to change the oldFilePath to the newFilePath on the Field code
Counter = wrdDocument.Fields.Count
For i = 1 To Counter
wrdDocument.Fields(i).Open
With wrdDocument.Fields(i).LinkFormat
.SourceFullName = Replace(.SourceFullName, oldFilePath, newFilePath)
End With
Next i
'Update the links
wrdDocument.Fields.Update
'Save, close and quit the application
wrdDocument.Save
wrdDocument.Close
wrdApp.Quit
'Release the memory
Set wrdApp = Nothing
Set wrdDocument = Nothing
End Sub