如何使用 Excel VBA 打印为 PDF?

如何使用 Excel VBA 打印为 PDF?

正如标题所示...我希望扩展我的自动化功能以包括直接打印到 PDF。我编写的宏已经根据需要格式化了打印区域和页面设置。但是当我去录制我的宏时,没有捕获任何打印、更改打印机或保存到文件的内容。

有办法实现这个吗?如果只需要提示保存位置,我也可以做到。我想象文件名可以通过抓取电子表格中的现有信息自动生成。

答案1

如果您使用的是 Excel 2010 及更高版本,则 Excel 会为您提供内部插件,允许您将文件保存为 PDF 格式。
在宏中使用以下代码将文件保存为 PDF

ActiveSheet.ExportAsFixedFormat 类型:=xlTypePDF,文件名:= _
        “C:\Users\46506090\Desktop\Book1.pdf”,质量:=xlQualityStandard,_
        IncludeDocProperties:=True,IgnorePrintAreas:=False,OpenAfterPublish:= _
        真的  

您可以在此处替换路径C:\用户\46506090\桌面\Book1.pdf并根据您的喜好命名文件名。

编辑:如果您打算将整个工作簿发布为 PDF,而不仅仅是您正在处理的工作表,只需替换 Active床单.ExportAsFixedFormat 为 Active工作簿.导出为固定格式

相关内容