使用VBA打印PDF文件

这篇具有很好参考价值的文章主要介绍了使用VBA打印PDF文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用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行代码输出相应的提示信息。文章来源地址https://www.toymoban.com/news/detail-744431.html

到了这里,关于使用VBA打印PDF文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • JasperReport定义变量后打印PDF变量为null以及整个pdf文件为空白

    问题1: JasperReport打印出来的整个pdf文件为空白文件; 问题2:JasperReport定义变量后打印PDF变量为null; 问题1原因是因为缺少数据源JRDataSource 如果你打印的jrxml文件单纯是一些文本,没有数据,那么你需要在 fillReport 函数传入一个空的数据源,如果没有数据源生成的PDF就是空白

    2024年02月10日
    浏览(43)
  • NZ系列工具NZ02:VBA读取PDF使用说明

    【分享成果,随喜正能量】时光绽放并蒂莲,更是一份殷殷嘱托,更是一份诚挚祝福,是一份时光馈赠,又是一份时光陪伴。。 我的教程一共九套及VBA汉英手册一部,分为初级、中级、高级三大部分。是对VBA的系统讲解,从简单的入门,到数据库,到字典,到高级的网抓及类

    2024年02月13日
    浏览(27)
  • Vue中如何进行文件打印与PDF导出

    在Vue应用中,有时候需要将页面内容打印出来或者导出为PDF格式,以满足用户的需求。本文将介绍如何在Vue应用中实现文件打印和PDF导出的功能。 文件打印是指将页面内容输出到打印机上,将其打印成纸质文档。在Vue中,可以通过浏览器提供的 window.print() 方法来实现文件打

    2024年02月09日
    浏览(34)
  • Adobe打印机另存pdf出错生成log文件,打印失败

    用adobe打印机转pdf出错生成log文件,打印失败,log文件内容如下: 可能原因:打印文档字体问题,不更改文档内容,只需更改下PDF打印机设置即可。 在“设置”中,找到“设备和打印机”,找到“Adobe PDF”打印机,选择“管理”,如下图: 选择“打印首选项” 打开Adobe PDF打印

    2024年02月16日
    浏览(71)
  • Latex图表制作:关于EPS文件转PDF文件及PDF裁剪自动化的Shell脚本制作

    很快就要步入研二了,在写完一篇论文以后,即将进入第二篇论文写作时,察觉到之前的一篇论文还有许多可以改进的地方,一个方面就是绘图,一篇论文图画的好不好、能否吸引审稿人的眼球并获得其青睐是一个值得琢磨的问题,而在这种收益和付出正相关的事情上,就更

    2024年02月09日
    浏览(40)
  • PPT VBA:批量转PDF

    目录 一、思路 1.获取文件列表 2.遍历文件列表中的文件 3.调用相应过程进生成PDF 4.完成 二、示例代码 三、补充 通过fso对象逐层获取主文件夹下的各层子文件夹,存入一个数组 然后遍历这个数组,获取每个文件夹下的PPT文件,存入另一个数组drr 遍历前面的drr,同时把拼接出

    2024年02月05日
    浏览(23)
  • vue 项目中实现pdf预览 pdf打印 pdf下载

    在Vue项目中实现PDF预览、打印和下载可以通过以下步骤来实现: 安装pdf.js pdf.js是一个JavaScript库,可以用于在Web上渲染PDF文件。 可以使用npm安装pdf.js,命令如下: npm install pdfjs-dist --save 创建一个PDF组件 在Vue项目中,可以创建一个PDF组件,用于显示PDF文件。 可以使用pdf.js提供

    2024年02月13日
    浏览(49)
  • 批量打印-----jsPDF将图片转为pdf,并合并pdf

    安装依赖并引入 注意一、 使用jspdf将图片(jpg/jpeg/png/bmp)转pdf(记为pdfA),得到的pdf(pdfA)和需要合并的pdf(记为pdfB)类型不一致,需要将pdfA转为pdfB类型,才能合并,使用arraybuffer转,具体如下 注意二、 jspdf 可转pdf的图片类型有jpg、jpeg、png、bpm, 不支持 tif 和 tiff 图片类

    2024年02月13日
    浏览(39)
  • java静默打印PDF(可实现生产环境下服务器写入PDF模板,然后调用客户端打印机打印)

    需求 写这个的原因主要是因为当时项目中的打印功能是用户打印标签时,每次点击打印是通过把PDF文件下载到客户端浏览器,然后需要通过浏览器去点击打印机实现打印,就非常麻烦,每次都步骤非常复杂,而且每次参数都要重新设置。于是就想着怎么通过java实现自己调用

    2024年02月13日
    浏览(34)
  • 获取PDF流;打印报告

    思路:触发打印报告事件时,第一步需要先获取PDF流;第二部需要走打印接口。 (1)获取PDF流,拿到流先判断下; (2)成功获取到正确的pdf流后,再走打印接口,流作为打印接口的参数         因为我们会在打印成功后再做一些其他的业务操作,所以这里将打印功能封装

    2024年02月13日
    浏览(23)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包