Excel VBA宏保存为PDF时如何自动切换活动打印机为Microsoft Print to PDF
VBA导出PDF自动切换打印机修改方案
完整修改后代码
Sub SaveCells() Dim OriginalPrinter As String Dim FilePath As String Dim FileName As String ' 保存当前默认打印机,导出完成后还原 OriginalPrinter = Application.ActivePrinter ' 临时切换打印机为Microsoft Print to PDF ' 注意:如运行报错请替换为你设备对应的完整打印机名称 Application.ActivePrinter = "Microsoft Print to PDF on Ne00:" FilePath = "C:\Users\USER\Documents\" FileName = FilePath & Format(Now(), "DD-MM-YYYY hh-mm") & " Report" ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, FileName:=FileName ' 还原为原来的默认打印机 Application.ActivePrinter = OriginalPrinter End Sub
适配设备注意事项
如果运行时提示「打印机不可用」,需要先获取你设备上Microsoft Print to PDF的完整标识:
- 手动将系统当前打印机切换为
Microsoft Print to PDF - 打开VBA编辑器,按
Ctrl+G调出立即窗口 - 输入
?Application.ActivePrinter回车,将输出的完整字符串替换代码中对应行的打印机名称即可
修改后运行宏会自动完成打印机切换、导出PDF、还原原有默认打印机的全流程,无需手动操作,导出的PDF尺寸会适配Excel工作表的页面设置,不会再继承标签打印机的尺寸参数。
内容的提问来源于stack exchange,提问作者LM Rig
相关产品推荐
相关产品推荐

