适用于Mac的Excel VBA:将工作表另存为PDF

我实际上正在处理一个简单的macros来将活动工作表保存为具有特殊名称的PDF文件。 我创build的macros正在工作,但是它将每张纸保存在多个PDF中,并将该工作表的名称放在文件名的末尾。

如果你能帮助我,这将是伟大的,我看不出有什么问题…

这是我的macros:

Sub PrintPDF() Dim wksSheet As Worksheet Dim strFile As String Set wksSheet = ActiveSheet 'strFile = Format(Now(), "yyyymm") _ & ".pdf" strFile = "blabla" _ & "_" _ & Format(Now(), "yyyymm") _ & "_" _ & "name2" _ & " " _ & Replace(Replace(wksSheet.Cells(1, 2).Value, " ", ""), ".", "_") _ & ".pdf" strFile = ThisWorkbook.Path & ":" & strFile wksSheet.SaveAs Filename:=strFile, FileFormat:=xlPDF End Sub 

您在Excel Mac 2011 VBA中发现了一个错误!

尽pipe使用您的ActiveSheet.SaveAs或我的首选语法: –

 ActiveWorkbook.SaveAs Filename:=strFile, FileFormat:=xlPDF, PublishOption:=xlSheet 

Excel Mac 2011 VBA将始终保存所有工作表。

如果打开macroslogging器并将工作表保存为PDF, ActiveWorkbook预期方式工作,并将ActiveWorkbook版本写入代码模块。 现在立即重新运行它生成的代码,并产生不同的结果!

我可以确认此错误在Excel Mac 2016中不存在,并且不再支持工作表语法。 您将需要更改为上面包含的工作簿语法。

以下方法解决了这个问题

 ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strFile