У меня есть модуль, который я использую для l oop через несколько папок, нахожу документы Word с определенным именем, принимаю все изменения и удаляю комментарии. Однако мой код не работает, когда я использую метод .SaveAs2 для сохранения файла Word в качестве имени файла Word + '_FINAL'. Я получаю сообщение «Ошибка времени выполнения 4605: ошибка приложения или объекта», и оно не запускается. Вот мой код ниже:
Private Sub Main()
Dim sPath As String ' Contains folder path of where this file is located
Dim FileSystem As Object
' Set folder path to where this file is located
sPath = Application.ActiveWorkbook.Path
Set FileSystem = CreateObject("Scripting.FileSystemObject")
BrowseFolder FileSystem.GetFolder(sPath)
End Sub
Public Sub BrowseFolder(Folder)
Dim SubFolder
For Each SubFolder In Folder.SubFolders
BrowseFolder SubFolder
Next
Dim File
For Each File In Folder.Files
If InStr(File, "Narrative_updated.doc") <> 0 Then
' Pass onto Word sub
FinalizeWord (File)
End If
Next
End Sub
Public Sub FinalizeWord(File)
Dim appWord As Word.Application
Dim sFileName As String
Set appWord = New Word.Application
appWord.Visible = True
appWord.Documents.Open fileName:=File
appWord.DisplayAlerts = False
appWord.Activate
' Set fileName to contain document name, will be used to save as final
sFileName = appWord.ActiveDocument.Path & "\" & Left(appWord.ActiveDocument.Name, InStrRev(appWord.ActiveDocument.Name, ".") - 1) & "_FINAL.docx"
' Set default view to print layout view in case that the document is protected
appWord.ActiveDocument.ActiveWindow.View.Type = wdPrintView
' Accept all track changes
appWord.ActiveDocument.Revisions.AcceptAll
' Remove all comments
appWord.ActiveDocument.DeleteAllComments
' Save As filename_FINAL.docx
appWord.ActiveDocument.SaveAs2 sFileName, FileFormat:=wdFormatDocumentDefault
End Sub
У кого-нибудь есть какие-нибудь решения, которые могут помочь?