当前位置: 首页 > news >正文

NZ系列工具NZ02:VBA读取PDF使用说明

【分享成果,随喜正能量】时光绽放并蒂莲,更是一份殷殷嘱托,更是一份诚挚祝福,是一份时光馈赠,又是一份时光陪伴。。

我的教程一共九套及VBA汉英手册一部,分为初级、中级、高级三大部分。是对VBA的系统讲解,从简单的入门,到数据库,到字典,到高级的网抓及类的应用。大家在学习的过程中可能会存在困惑,这么多知识点该如何组织成自己的程序呢?VBA可否能组织一个大型的程序呢?如何让VBA形成一个工具,拿来就用呢?在我的教程完结后,我陆续推出这类技术工具资料,这类工具整合了若干多的VBA知识点,让大家感受到VBA之强大。工具资料共两个系列,一个是YZ系列,一个是NZ系列。今日给大家介绍的是NZ系列工具NZ02:VBA读取PDF使用说明0564a80b5b25ddb0ebc4b955009881c6.jpeg

NZ02 VBA读取PDF使用说明

PDF文件大家并不陌生,很多资料的传递都是依靠这种文件格式进行,如一些报表,合同书,甚至个人的一些资料。这个格式的文件有着自己的特点,不易被修改,但是我们的一些数据信息往往来自于这类文件,那么怎么利用VBA技术读取把这类文件的信息呢?这个应用就是实现这个目的。提供给学员7项功能:

功能1:在指定路径下的PDF中查找字符串;

功能2:将指定路径下的PDF文件拆分成若干个文件,每个文件的页数是指定的;

功能3:将某个文件夹下的多个pdf文件合并,

功能4:提取pdf文件中表的数据,表中不能有合并单元格,

功能5:提取PDF中某个段落数据到EXCEL

功能6:提取pdf文件中表的数据,表中可以有合并单元格

功能7:将文件夹下的多个PDF转变成WORD文件,并放在同路径下的WORD文件夹下(事前建立)

115d498ea72690477bc48b86f3176bdd.jpeg

一准备工作

当你得到这个应用技术后,可以看到两个文件夹及一个使用的文档说明。

a4552975275b122156e4c8fa157425c5.jpeg

1我们首先打开“adobeacrobatXpro_setup”文件夹,安装一下ADODB,这个文件夹下有安装的说明,如果按照过程出现异常,按照这个说明进行处理即可。安装ADODB的目的是要获得VBA中利用的控件。

2安装好后,我们打开“程序及示例文件文件”这个文件夹,这个文件如下截图:

eedf4875b7162b2966fb1d991069e3b0.jpeg

这个文件夹中包含两个文件夹和两个文件,其中“word”文件夹是空的,用于文档装换后的目的地址;“测试文档”中包含我们可以用于测试各个功能的PDF文件;PDFChangeTo.xlam文件是加载项文件,是整个文件的技术核心部分,如果您得到的是不开放源码的资料,您是无法打开这个文件并看到代码的,如果您得到的是开放源码的资料,可以输入密码“123456789”打开这个加载项,并看到里面的代码,但是建议您不要轻易打开。TestPDFChangeTo.xlsm文件是我们应用这个加载项的程序,提供了应用的界面,我们打开这个文件,截图如下:

957e10102a44fa58349f5dcf63636a89.jpeg

以上的界面截图提供了各项功能的运行按钮及要提供的输入参数。您只要在这个界面中按照要求输入相应的参数就可以了。

二功能1:在指定路径下的PDF中查找字符串

测试参数输入,在D2单元格中输入路径地址“D:\VBA笔记\VBA_PDF\程序及示例文件文件\测试文档”;在E2单元格中输入文件名search;在F2单元格中输入我们要查找的字符。

2f11bb6e54dc6c2202df2a963cf37e83.jpeg

点击运行按钮mynzTestA.

结果:

30b410d58a9d6912add791e72688696a.jpeg

三功能2:拆分PDF文件

测试参数输入,在D4单元格中输入路径地址:D:\VBA笔记\VBA_PDF\程序及示例文件文件\测试文档;在E4单元格中输入文件名”Fiddler调试”;在F4单元格中输入我们要形成每个文件的页数,这里我们选择10。

0dd836a656fc7111d44a9cc406fe6fd9.jpeg

点击运行按钮mynzTestB.

结果:

57169fee79b86c3e6af0790cbe3d9ee5.jpeg

以上我们看到,已经将”Fiddler调试文件,分隔成每10页一个文件,运行也是非常的快。

四功能3:将某个文件夹下的多个pdf文件合并

测试参数输入,在D6单元格中输入路径地址:D:\VBA笔记\VBA_PDF\程序及示例文件文件;在E6单元格中输入文件名”myMergePDF”;在F6单元格为空,没有参数。如下截图:

841a993e041787a8cadb9566ef51a77e.jpeg

bd5244d9940c0ca61ffb9996609583e5.jpeg

点击运行按钮mynzTestC.

结果:

d47050bed0737392bae2206185bfc896.jpeg

以上结果,已经将“search文件”和“文章”文件合并到“myMergePDF”文件。当然,你也可以在这个文件夹下放入多个PDF文件。

五功能4:提取pdf文件中表数据(表中不能有合并单元格)

测试参数输入:在D8单元格中输入路径地址“D:\VBA笔记\VBA_PDF\程序及示例文件文件\测试文档”;在E8单元格中输入文件名”myPDF(无合并单元格)”;在F8单元格为空,没有参数。如下截图:

3f8236c5d8234582051d57330226b15f.jpeg

点击运行按钮mynzTestD.

结果:

1cd1aca0e5ca47cea801e81fa5692226.jpeg

程序运行后,会形成一个新的文件,把表格中的内容放到新的工作簿文件中。

六功能5:提取PDF中某个段落数据到EXCEL

测试参数输入:在D10单元格中输入路径地址“D:\VBA笔记\VBA_PDF\程序及示例文件文件\测试文档”;在E10单元格中输入文件名“文章”;在F8单元格输入“要提取的段落号”这里我们输入1。如下截图:

bb511f5877385467eb3ef5f37a4b5410.jpeg

点击运行按钮mynzTestE.

结果:

cecdf43b36d579f460721528695b7579.jpeg

程序运行后,会形成一个新的文件,把PDF文件“文章”中的第一段内容放到新的工作簿文件中。

七功能6:提取pdf文件中表的数据(可以有合并单元格)

测试参数输入:在D12单元格中输入路径地址“D:\VBA笔记\VBA_PDF\程序及示例文件文件\测试文档”;在E12单元格中输入文件名“myPDF(有合并单元格)”;在F12单元格输入表间隔参数,是指两个表的间隔行数,这里用的是3。如下截图:

d5c47d697345c28697e7723e0e6e0d5f.jpeg

点击运行按钮mynzTestF.

结果:

739914041e519beee1cff816cd00f5c6.jpeg

程序运行后,会形成一个新的文件,把PDF各个表格中的内容放到新的工作簿文件中。

八功能7:将文件夹下的多个PDF转变成WORD文件

测试参数输入:在D14单元格中输入路径地址“D:\VBA笔记\VBA_PDF\程序及示例文件文件”;没有其他参数,如下截图:

373825e882193d766390f75c429e6628.jpeg

4668394b8b617e55032b7e2959a9c0f3.jpeg

点击运行按钮mynzTestG.

结果:

643e58b95f75a00605d98db5922a2f93.jpeg

程序运行后,会在word文件夹中形成相应新的word文件.

九技术总结

这个应用中,我们大体上解决了VBA读取PDF文件中常见的七大问题:

功能1:在指定路径下的PDF中查找字符串;

功能2:将指定路径下的PDF文件拆分成若干个文件,每个文件的页数是指定的;

功能3:将某个文件夹下的多个pdf文件合并,

功能4:提取pdf文件中表的数据,表中不能有合并单元格,

功能5:提取PDF中某个段落数据到EXCEL

功能6:提取pdf文件中表的数据,表中可以有合并单元格

功能7:将文件夹下的多个PDF转变成WORD文件,并放在同路径下的WORD文件夹下(事前建立)

但是,由于有些PDF的文件完全完美的读取对于VBA而言是非常困难的,还不能够完全实现,也希望学员的技术在我的基础上有所突破,

【分享成果,随喜正能量】

39e5f74fb726dff878637c1039b2cddd.jpeg

下面是NZ系列VBA应用工具:

ef7fdb1ce3b9900962d4bd9b0e005438.jpeg

http://www.lryc.cn/news/122641.html

相关文章:

  • Autocasting和GradScaler
  • 头条移动端项目Day03 —— 自媒体素材管理、自媒体文章管理、自媒体文章发布
  • 【ARM 嵌入式 编译系列 9-- GCC 编译符号表(Symbol Table)的详细介绍】
  • Apache Doris 入门教程27:BITMAP精准去重和HLL近似去重
  • bug总结
  • DC电源模块的高转换率
  • 用于网页抓取的最佳 Python 库
  • 异步回调中axios,ajax,promise,cors详解区分
  • IoTDB原理剖析
  • 中国1990-2021连续30年土地利用数据CLCD介绍及下载
  • Tubi 前端测试:迁移 Enzyme 到 React Testing Library
  • Chrome
  • 零代码编程:用ChatGPT批量删除Excel文件中的行
  • GaussDB数据库SQL系列-UNION UNION ALL
  • Azure创建第一个虚拟机
  • Redis 之 缓存预热 缓存雪崩 缓存击穿 缓存穿透
  • Golang 程序性能优化利器 PGO 详解(二):收集样本数据和编译
  • 《格斗之王AI》使用指南
  • 创新引领城市进化:人工智能和大数据塑造智慧城市新面貌
  • iOS开发-处理UIControl触摸事件TrackingWithEvent
  • 学无止境·运维高阶⑤(LVS-DR 群集 配置Nginx负载均衡)
  • badger的mainfest文件解读
  • java导出excel浏览器下载,单线程VS多线程
  • 【rust/egui】(二)看看template的main函数:日志输出以及eframe run_native
  • Eigen在QT中的配置
  • 微服务04-elasticsearch
  • uniapp 微信小程序 订阅消息
  • JDK8日期时间工具类
  • 智汇云舟入选IDC《中国智慧城市数字孪生技术评估,2023》报告
  • 《Zookeeper》源码分析(九)之选举通信网络