VBA读取PDF技术工具

分享成果,随喜正能量】钟表 , 可以回到起点,却已不是昨天;日历,撕下一页简单 , 把握一天很难!时间,不急不慢、不言不语,却让地球人朝朝暮暮、忙忙碌碌! 。
VBA技术工具是我根据我的多年经验,并结合一些需求推出多项工具 。这些工具分为YZ系列和NZ系列:YZ系列比较容易,一般可以通过教程中的代码组合自己也可以容易的写出;NZ系列则比较困难些,需要一定的VBA技术能力可以得到 。这些工具只对学员,不对外 。
对于较难些的NZ系列工具,每个工具有两种版本,开放源码的版本和不开放的版本 。不开放源码的版本可以直接使用 , 是用来鼓励哪些执着于VBA学习的和应用 , 按照我的教程踏实学习 , 并学习到了高级阶段的学员 。这些工具我会陆续推出,一般以19版MS为蓝本编写 。今日给大家介绍的这个系列的NZ02 , VBA读取PDF文件技术

VBA读取PDF技术工具

NZ02 VBA读取PDF使用说明

PDF文件大家并不陌生 , 很多资料的传递都是依靠这种文件格式进行,如一些报表,合同书,甚至个人的一些资料 。这个格式的文件有着自己的特点,不易被修改,但是我们的一些数据信息往往来自于这类文件,那么怎么利用VBA技术读取把这类文件的信息呢?这个应用就是实现这个目的 。提供给学员7项功能:
功能1:在指定路径下的PDF中查找字符串;
功能2:将指定路径下的PDF文件拆分成若干个文件,每个文件的页数是指定的;
功能3:将某个文件夹下的多个pdf文件合并,
功能4:提取pdf文件中表的数据,表中不能有合并单元格,
功能5:提取PDF中某个段落数据到EXCEL
功能6 :提取pdf文件中表的数据 , 表中可以有合并单元格
功能7:将文件夹下的多个PDF转变成WORD文件,并放在同路径下的WORD文件夹下(事前建立)
VBA读取PDF技术工具

一 准备工作

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

1 我们首先打开“adobeacrobatXpro_setup”文件夹,安装一下ADODB,这个文件夹下有安装的说明,如果按照过程出现异常,按照这个说明进行处理即可 。安装ADODB的目的是要获得VBA中利用的控件 。
2 安装好后,我们打开“程序及示例文件文件”这个文件夹,这个文件如下截图:
VBA读取PDF技术工具

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

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

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

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

点击运行按钮mynzTestA.
结果:
VBA读取PDF技术工具

三 功能2:拆分PDF文件

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

点击运行按钮mynzTestB.
结果:
VBA读取PDF技术工具

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

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

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

VBA读取PDF技术工具

点击运行按钮mynzTestC.
结果:
VBA读取PDF技术工具

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

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

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



点击运行按钮mynzTestD.
结果:
VBA读取PDF技术工具

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

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

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



点击运行按钮mynzTestE.
结果:
VBA读取PDF技术工具

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

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

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

点击运行按钮mynzTestF.
结果:
VBA读取PDF技术工具

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

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

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

VBA读取PDF技术工具

点击运行按钮mynzTestG.
结果:
VBA读取PDF技术工具

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

九 技术总结

这个应用中,我们大体上解决了VBA读取PDF文件中常见的七大问题:
功能1:在指定路径下的PDF中查找字符串;
功能2:将指定路径下的PDF文件拆分成若干个文件 , 每个文件的页数是指定的;
功能3:将某个文件夹下的多个pdf文件合并,
功能4:提取pdf文件中表的数据 , 表中不能有合并单元格,
功能5:提取PDF中某个段落数据到EXCEL
功能6 :提取pdf文件中表的数据,表中可以有合并单元格
【VBA读取PDF技术工具】功能7:将文件夹下的多个PDF转变成WORD文件,并放在同路径下的WORD文件夹下(事前建立)
但是,由于有些PDF的文件完全完美的读取对于VBA而言是非常困难的,还不能够完全实现,也希望学员的技术在我的基础上有所突破,
【分享成果,随喜正能量】
VBA读取PDF技术工具

我20多年的VBA实践经验,全部浓缩在下面的各个教程中:
VBA读取PDF技术工具

分享成果 , 随喜正能量】人生有四苦:一是看不透 。看不透人际中纠结,争斗后隐伤,看不透喧嚣中平淡,繁华后的宁静 。二是舍不得 。舍不得曾经的精彩,不逮的岁月,舍不得居高时的虚荣 , 得意处的掌声 。三是输不起 。输不起一段情感之失,输不起一截人生之败 。四是放不下 。放不下已经走远的人与事,放不下早已尘封的是与非 。。

相关经验推荐