适用于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