我正在尝试通过VBA将工作表中的范围保存为PDF。以下是我写的代码。
Sheets("PO Format").PageSetup.PrintArea = "$B$6 : $J$42"
Sheets("PO Format").Range("B6:J42").ExportAsFixedFormat Type:=xlTypePDF, Filename:=Sheets("User Settings").Range("B15") & "/" & Sheets("PO Format").Range("F7"), Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
奇怪的是,它在一个系统上工作正常,我能够将它保存在上述路径,然后发送邮件,但在另一个系统上测试时,我收到的错误为“打印时出错” ”。完全无能为力。任何人都可以帮忙??
答案 0 :(得分:5)
在Mac Office 2016中,Microsoft必须处理Apple的沙箱要求,因为VBA需要访问文件夹的权限,而尝试通过VBA保存时不会出现这种情况,而是提示错误。但是Mac上有一些地方可以让代码在没有用户交互的情况下完成它需要做的事情。
一个这样的路径是/ Users / username / Library / Group Containers / UBF8T346G9.Office 安装Office 2016时会创建此文件夹。
所以我将PDF保存到此文件夹,将其移动到所需位置,现在工作正常。
有关详细信息,请参阅代码http://www.rondebruin.nl/mac/mac034.htm
答案 1 :(得分:-1)
确保已安装Excel SaveAsPDFandXPS插件,如果适用于Mac,那么您应该可以在Microsoft网站上找到它,它可以免费使用。安装它然后代码应该工作得很好。