打印时出错

时间:2015-08-21 15:59:54

标签: excel-vba excel-2016 vba excel

我的宏显示如下。我正在尝试将我的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 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

感谢所有回复的人。我找到了宏观问题的答案。 Excel 2016 for Mac不支持所有宏功能。我不得不回到Excel 2011 for Mac来完成所有工作。显然没有Excel 2013 for Mac。

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

答案 3 :(得分:0)

覆盖PDF的解决方案仍然无法使用MS Excel 2016的最新更新15.15,并在打印时生成错误消息"错误 - 2011年工作正常。为什么他们决定改变这个VBA系统 - 上帝只知道