使用VBA打印PDF文件

您所在的位置:网站首页 横向表格如何打印双面文件夹 使用VBA打印PDF文件

使用VBA打印PDF文件

2024-07-09 15:24| 来源: 网络整理| 查看: 265

使用VBA打印工作表和工作簿文件都很容易实现,但是有时需要使用VBA打印已经保存在本机的其他文件,例如PDF文件格式的账单,如果这个PDF并非由Excel生成的那么就无法使用前述方法实现。

调用Windows的Shell命令可以实现打印PDF文件。

示例代码如下。

#If VBA7 And Win64 Then Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _ ByVal hwnd As LongPtr, ByVal lpOperation As String, ByVal lpFile As String, _ ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As LongPtr #Else Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _ ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _ ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long #End If Sub PrintPDFUsingAPI() Dim PDFPath As String, result PDFPath = "d:\temp\test.pdf" result = ShellExecute(0, "print", PDFPath, 0&, 0&, 0) If result > 32 Then MsgBox "打印命令已发送至默认打印机。" Else MsgBox "无法执行打印命令。" End If End Sub

【代码解析】 第1~9行代码声明Windows API函数,这里使用了条件编译,以便于适配32位和64位Office软件。 第13行代码指定PDF文件的全路径。 第14行代码打印PDF文件。 如果API执行成功返回值为32,第15行代码判断返回值,第16行和18行代码输出相应的提示信息。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3