У меня есть следующий скрипт, который отлично работает в среде Windows. После сохранения файла excel он откроет выделенный документ Word, обновит ссылки и сохранит его как PDF в той же папке с именем ячейки C6. К сожалению, мне нужно, чтобы он работал и на MAC. Я изменил путь от «c: \ Prop» до «/ Prop /» (я создал папку в корне Mac HD под названием Prop), и она работает до точки, где открывается слово, но затем я получаю неподдерживаемый функциональное сообщение ... кто-нибудь знает, какая функция для MAC-офиса 16 ???Excel VBA для MAC
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim objWord, objWordDoc, objField As Object
Dim boolSuccess, boolUpdated As Boolean
Dim strFolderPath, strWordFileName, strPdfFileName, strOutput As String
strFolderPath = "c:\Prop\"
strWordFileName = "Prop.docm"
strPdfFileName = ActiveWorkbook.Sheets(1).Cells(6, 3).Value & ".pdf"
strOutput = "There are problems with updating the next fields:" & vbCrLf
boolSuccess = True
On Error GoTo Error
Err.Clear
Set objWord = CreateObject("Word.Application")
Set objWordDoc = objWord.Documents.Open(strFolderPath & strWordFileName)
If Not objWordDoc Is Nothing Then
For Each objField In objWordDoc.Fields
boolUpdated = objField.Update
If Not boolUpdated Then
boolSuccess = False
strOutput = strOutput & "Field" & CStr(objField.Index) & vbCrLf
End If
Next
objWordDoc.Save
objWordDoc.ExportAsFixedFormat strFolderPath & strPdfFileName, 17
objWordDoc.Close
If boolSuccess Then
MsgBox strWordFileName & " was updated successfully and " & strPdfFileName & " was saved in " & strFolderPath
Else
MsgBox strOutput
MsgBox strWordFileName & " was updated with problems and " & strPdfFileName & " was saved in " & strFolderPath
End If
End If
Error:
If Err.Description <> "" Then
MsgBox "Error: " & Err.Description, , "Error"
End If
objWord.Quit
Set objWordDoc = Nothing
Set objWord = Nothing
End Sub