У меня есть поле, которое генерирует PDF на основе данных в таблицах Excel. Это работает в Windows с использованием Office 2016, но возвращает сообщение об ошибке при использовании в Mac.
Mac Ошибка: ошибка времени выполнения "1004". Ошибка с методом: "GetSaveAsFilename" объекта "_Application".
Код VBA находится здесь:
Sub PDF_Datei_erstellen()
'** Blatt "Angebot" als PDF erstellen
'** Blätter Angebot und Anhang gruppieren
Sheets(Array("Angebot", "Anhang")).Select
Sheets("Angebot").Activate
'** Dateiname zusammenbauen
dateiname = "Kostenvoranschlag_" & ActiveSheet.Range("D14").Value
'** Export-Voragben
exportname = Application.GetSaveAsFilename(dateiname, "PDF-Dateien (*.pdf), *.pdf", , "PDF-Export", "PDF-Export")
'** PDF exportieren
If exportname <> False Then
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=exportname, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
End If
Application.ScreenUpdating = False
Sheets("PreisNavi").Select
Sheets("Angebot").Select
Application.ScreenUpdating = True
End Sub
Sub PDF_Wirtschaftlichkeitsberechnung()
'** Blätter "Zusammenfassung", "Gesamtübersicht", "100 % Invest Eigenkapital" und "Invest Fremdkapital" als PDF erstellen
'** Relevante Blätter gruppieren
Sheets(Array("Zusammenfassung", "Gesamtübersicht", "100 % Invest Eigenkapital", "Invest Fremdkapital")).Select
Sheets("Zusammenfassung").Activate
'** Dateiname zusammenbauen
dateiname = "Wirtschaftlichkeitsberechnung_" & ThisWorkbook.Sheets("Angebot").Range("C13").Value
'** Export-Voragben
exportname = Application.GetSaveAsFilename(dateiname, "PDF-Dateien (*.pdf), *.pdf", , "PDF-Export", "PDF-Export")
'** PDF exportieren
If exportname <> False Then
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=exportname, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
End If
'** Array wieder aufheben
Application.ScreenUpdating = False
With ThisWorkbook
.Sheets("Internes Eingabeformular").Select
.Sheets("Zusammenfassung").Select
End With
Application.ScreenUpdating = True
End Sub