在VBA中调用Adobe Acrobat或Reader的命令行工具,实现PDF自动打印 (‾◡◝)

在VBA(Visual Basic for Applications)中自动打印PDF文件通常不直接支持,因为VBA本身是针对Microsoft Office应用程序(如Excel、Word和PowerPoint等)的编程语言,并不直接处理PDF文件。但是,你可以通过调用Adobe Acrobat或Reader的命令行工具间接实现自动打印PDF文件的功能。

一、操作步骤

首先需要为你的电脑安装Adobe Acrobat或Reader,你可以使用它们的命令行工具(如AcroRd32.exe)来打印PDF文件。其次需要Acrobat或Reader的安装路径(可能因版本和安装位置而异)。最后编写VBA代码调用命令行。

vbnet 复制代码
Sub PrintPDF()
    '自动打印单个PDF文件
    
    Const Path_Pdf As String = "C:\Users\Desktop\test.pdf"
    Const Adobe_exe As String = "C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe"
    Const Printer_Name As String = "Print Driver"
    Dim shellCommand As String
    
    shellCommand = Adobe_exe & " /p /h " & Path_Pdf
    Shell shellCommand, vbHide
    
End Sub


'选择打印机 /t
'shellCommand = Adobe_exe & " /p /h /t "& Printer_Name & Path_Pdf
vbnet 复制代码
Sub BatchPrintPDF()
    '批量打印PDF文件
    
    Const Path_Pdf As String = "C:\Users\Desktop\test"
    Const Adobe_exe As String = "C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe"
    Dim shellCommand As String

    Set fso = CreateObject("Scripting.FileSystemObject")
    Set Folder = fso.GetFolder(Path_Pdf)

    For Each file In Folder.Files
       shellCommand = Adobe_exe & " /p /h " & file
       Shell shellCommand, vbHide
    Next file
    
End Sub
相关推荐
南风微微吹19 分钟前
2026英语六级作文模版万能句子PDF电子版
pdf·英语六级
又是被bug折磨的一天1 小时前
对多个pdf合同文件批量命名
pdf
南风微微吹2 小时前
2026年英语四级作文模版万能句子PDF电子版
pdf·英语四级
这是个假程序员5 小时前
PDF分色、智能PDF黑彩识别工具
pdf
夜勤月5 小时前
HarmonyOS 6.0 ArkWeb实战:PDF背景色自定义功能全解析(附完整代码+避坑指南)
华为·pdf·harmonyos
relis6 小时前
AI使用小技巧: 用zed和MinerU本地版,同时学习PDF文档的文字和图片
ai·pdf·大模型·agent
海盗12346 小时前
C#中PDF操作-QuestPDF页面设置与布局
java·pdf·c#
又是被bug折磨的一天7 小时前
发票形式是eml批量下载发票pdf
pdf
hmz8569 小时前
亲测有效,完全免费PDF转换工具,支持PDF压缩、PDF转图片、PDF删除和排序 、PDF转Word、PDF转文本、图片转PDF【附安装教程】
pdf
至善迎风10 小时前
用 Codex / Claude Code Skill 自动完成「文献 PDF → 文献汇报 PPT」:从论文精读到 10–12 页学术汇报
人工智能·pdf·powerpoint