excel 在Mac上将工作表另存为PDF

u59ebvdq  于 2022-12-01  发布在  Mac
关注(0)|答案(2)|浏览(265)

我正在使用宏将活动工作表另存为具有特殊名称的PDF文件。
我创建的宏会运行,但会将每个工作表保存在多个PDF中,并将工作表的名称放在文件名的末尾。

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
llew8vvj

llew8vvj1#

您在Excel Mac 2011 VBA中发现了一个错误!
尽管使用您的语法ActiveSheet.SaveAs或我的首选:-

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

Excel Mac 2011 VBA将始终保存所有工作表。
如果您打开宏录制器并将工作表保存为PDF,它会按预期工作并将ActiveWorkbook版本写出到代码模块。现在立即重新运行它生成的代码,它会产生不同的结果!
我可以确认Excel Mac 2016中不存在此错误,并且不再支持工作表语法。您需要更改为我在上面包含的工作簿语法。

guykilcj

guykilcj2#

以下方法解决了该问题

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

相关问题