2

我的宏如下所示。我正在尝试将我的 excel 工作表保存为 pdf 文档。当我运行宏时,我收到“打印时出错”消息,然后是:运行时错误“1004”:应用程序定义或对象定义错误

我正在运行 Microsoft Excel for Mac 版本 15.13.1。

这是我的宏。怎么了?

Sub SAVE_DIRECTORY_IN_PDF_FORMAT()
Dim DIRECTORY As Worksheet
Dim DIRECTORY2 As Worksheet

Sheets("DIRECTORY").Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:="DIRECTORY.pdf", _
    Quality:=xlQualityStandard, IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, OpenAfterPublish:=False

Sheets("DIRECTORY2").Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:="DIRECTORY with Emails.pdf", _
    Quality:=xlQualityStandard, IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, OpenAfterPublish:=False
End Sub
4

4 回答 4

1

刚刚遇到了同样的问题,我同意这似乎是 Excel 2016 for Mac 的问题,我认为有一个解决方案(尽管非常不雅)。

如果您要覆盖现有的 pdf 文件而不是创建一个新文件,问题似乎就消失了。所以解决方案是使用所需的 .pdf 路径在工作簿上执行 SaveAs,然后将 ExportAsFixedFormat 执行到相同的路径,然后将工作簿重新保存在其原始路径中(如果需要)...

Dim currentPath As String

currentPath = Application.ActiveWorkbook.FullName

ActiveWorkbook.SaveAs Filename:="DIRECTORY.pdf"

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:="DIRECTORY.pdf", _
    Quality:=xlQualityStandard, IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, OpenAfterPublish:=False

ActiveWorkbook.SaveAs Filename:=currentPath
于 2015-09-25T08:37:33.423 回答
0

覆盖 PDF 的解决方案仍然不适用于 MS Excel 2016 的最新更新 15.15,产生“打印时出错”消息 - 2011 工作正常。为什么他们决定改变这个 VBA 系统 - 只有天知道

于 2015-10-16T08:52:32.223 回答
0

感谢所有回复的人。我找到了宏观问题的答案。Excel 2016 for Mac 不支持所有宏函数。我必须回到 Excel 2011 for Mac 才能正常工作。显然没有 Excel 2013 for Mac。

我现在将等待微软升级 2016 版本以修复宏问题。

于 2015-08-22T15:35:16.843 回答
0

对于文件名,请尝试包含文件的路径,即Filename:="C:\Users\inm\Desktop\DIRECTORY.pdf".

于 2015-08-21T16:57:34.690 回答