【分享成果,隨喜正能量】時(shí)光綻放并蒂蓮,更是一份殷殷囑托,更是一份誠摯祝福,是一份時(shí)光饋贈(zèng),又是一份時(shí)光陪伴。。
我的教程一共九套及VBA漢英手冊一部,分為初級(jí)、中級(jí)、高級(jí)三大部分。是對VBA的系統(tǒng)講解,從簡單的入門,到數(shù)據(jù)庫,到字典,到高級(jí)的網(wǎng)抓及類的應(yīng)用。大家在學(xué)習(xí)的過程中可能會(huì)存在困惑,這么多知識(shí)點(diǎn)該如何組織成自己的程序呢?VBA可否能組織一個(gè)大型的程序呢?如何讓VBA形成一個(gè)工具,拿來就用呢?在我的教程完結(jié)后,我陸續(xù)推出這類技術(shù)工具資料,這類工具整合了若干多的VBA知識(shí)點(diǎn),讓大家感受到VBA之強(qiáng)大。工具資料共兩個(gè)系列,一個(gè)是YZ系列,一個(gè)是NZ系列。今日給大家介紹的是NZ系列工具NZ02:VBA讀取PDF使用說明
NZ02 VBA讀取PDF使用說明
PDF文件大家并不陌生,很多資料的傳遞都是依靠這種文件格式進(jìn)行,如一些報(bào)表,合同書,甚至個(gè)人的一些資料。這個(gè)格式的文件有著自己的特點(diǎn),不易被修改,但是我們的一些數(shù)據(jù)信息往往來自于這類文件,那么怎么利用VBA技術(shù)讀取把這類文件的信息呢?這個(gè)應(yīng)用就是實(shí)現(xiàn)這個(gè)目的。提供給學(xué)員7項(xiàng)功能:
功能1:在指定路徑下的PDF中查找字符串;
功能2:將指定路徑下的PDF文件拆分成若干個(gè)文件,每個(gè)文件的頁數(shù)是指定的;
功能3:將某個(gè)文件夾下的多個(gè)pdf文件合并,
功能4:提取pdf文件中表的數(shù)據(jù),表中不能有合并單元格,
功能5:提取PDF中某個(gè)段落數(shù)據(jù)到EXCEL
功能6:提取pdf文件中表的數(shù)據(jù),表中可以有合并單元格
功能7:將文件夾下的多個(gè)PDF轉(zhuǎn)變成WORD文件,并放在同路徑下的WORD文件夾下(事前建立)
一準(zhǔn)備工作
當(dāng)你得到這個(gè)應(yīng)用技術(shù)后,可以看到兩個(gè)文件夾及一個(gè)使用的文檔說明。
1我們首先打開“adobeacrobatXpro_setup”文件夾,安裝一下ADODB,這個(gè)文件夾下有安裝的說明,如果按照過程出現(xiàn)異常,按照這個(gè)說明進(jìn)行處理即可。安裝ADODB的目的是要獲得VBA中利用的控件。
2安裝好后,我們打開“程序及示例文件文件”這個(gè)文件夾,這個(gè)文件如下截圖:
這個(gè)文件夾中包含兩個(gè)文件夾和兩個(gè)文件,其中“word”文件夾是空的,用于文檔裝換后的目的地址;“測試文檔”中包含我們可以用于測試各個(gè)功能的PDF文件;PDFChangeTo.xlam文件是加載項(xiàng)文件,是整個(gè)文件的技術(shù)核心部分,如果您得到的是不開放源碼的資料,您是無法打開這個(gè)文件并看到代碼的,如果您得到的是開放源碼的資料,可以輸入密碼“123456789”打開這個(gè)加載項(xiàng),并看到里面的代碼,但是建議您不要輕易打開。TestPDFChangeTo.xlsm文件是我們應(yīng)用這個(gè)加載項(xiàng)的程序,提供了應(yīng)用的界面,我們打開這個(gè)文件,截圖如下:
以上的界面截圖提供了各項(xiàng)功能的運(yùn)行按鈕及要提供的輸入?yún)?shù)。您只要在這個(gè)界面中按照要求輸入相應(yīng)的參數(shù)就可以了。
二功能1:在指定路徑下的PDF中查找字符串
測試參數(shù)輸入,在D2單元格中輸入路徑地址“D:\VBA筆記\VBA_PDF\程序及示例文件文件\測試文檔”;在E2單元格中輸入文件名search;在F2單元格中輸入我們要查找的字符。
點(diǎn)擊運(yùn)行按鈕mynzTestA.
結(jié)果:
三功能2:拆分PDF文件
測試參數(shù)輸入,在D4單元格中輸入路徑地址:D:\VBA筆記\VBA_PDF\程序及示例文件文件\測試文檔;在E4單元格中輸入文件名”Fiddler調(diào)試”;在F4單元格中輸入我們要形成每個(gè)文件的頁數(shù),這里我們選擇10。
點(diǎn)擊運(yùn)行按鈕mynzTestB.
結(jié)果:
以上我們看到,已經(jīng)將”Fiddler調(diào)試文件,分隔成每10頁一個(gè)文件,運(yùn)行也是非常的快。
四功能3:將某個(gè)文件夾下的多個(gè)pdf文件合并
測試參數(shù)輸入,在D6單元格中輸入路徑地址:D:\VBA筆記\VBA_PDF\程序及示例文件文件;在E6單元格中輸入文件名”myMergePDF”;在F6單元格為空,沒有參數(shù)。如下截圖:
點(diǎn)擊運(yùn)行按鈕mynzTestC.
結(jié)果:
以上結(jié)果,已經(jīng)將“search文件”和“文章”文件合并到“myMergePDF”文件。當(dāng)然,你也可以在這個(gè)文件夾下放入多個(gè)PDF文件。
五功能4:提取pdf文件中表數(shù)據(jù)(表中不能有合并單元格)
測試參數(shù)輸入:在D8單元格中輸入路徑地址“D:\VBA筆記\VBA_PDF\程序及示例文件文件\測試文檔”;在E8單元格中輸入文件名”myPDF(無合并單元格)”;在F8單元格為空,沒有參數(shù)。如下截圖:
點(diǎn)擊運(yùn)行按鈕mynzTestD.
結(jié)果:
程序運(yùn)行后,會(huì)形成一個(gè)新的文件,把表格中的內(nèi)容放到新的工作簿文件中。
六功能5:提取PDF中某個(gè)段落數(shù)據(jù)到EXCEL
測試參數(shù)輸入:在D10單元格中輸入路徑地址“D:\VBA筆記\VBA_PDF\程序及示例文件文件\測試文檔”;在E10單元格中輸入文件名“文章”;在F8單元格輸入“要提取的段落號(hào)”這里我們輸入1。如下截圖:
點(diǎn)擊運(yùn)行按鈕mynzTestE.
結(jié)果:
程序運(yùn)行后,會(huì)形成一個(gè)新的文件,把PDF文件“文章”中的第一段內(nèi)容放到新的工作簿文件中。
七功能6:提取pdf文件中表的數(shù)據(jù)(可以有合并單元格)
測試參數(shù)輸入:在D12單元格中輸入路徑地址“D:\VBA筆記\VBA_PDF\程序及示例文件文件\測試文檔”;在E12單元格中輸入文件名“myPDF(有合并單元格)”;在F12單元格輸入表間隔參數(shù),是指兩個(gè)表的間隔行數(shù),這里用的是3。如下截圖:
點(diǎn)擊運(yùn)行按鈕mynzTestF.
結(jié)果:
程序運(yùn)行后,會(huì)形成一個(gè)新的文件,把PDF各個(gè)表格中的內(nèi)容放到新的工作簿文件中。
八功能7:將文件夾下的多個(gè)PDF轉(zhuǎn)變成WORD文件
測試參數(shù)輸入:在D14單元格中輸入路徑地址“D:\VBA筆記\VBA_PDF\程序及示例文件文件”;沒有其他參數(shù),如下截圖:
點(diǎn)擊運(yùn)行按鈕mynzTestG.
結(jié)果:
程序運(yùn)行后,會(huì)在word文件夾中形成相應(yīng)新的word文件.
九技術(shù)總結(jié)
這個(gè)應(yīng)用中,我們大體上解決了VBA讀取PDF文件中常見的七大問題:
功能1:在指定路徑下的PDF中查找字符串;
功能2:將指定路徑下的PDF文件拆分成若干個(gè)文件,每個(gè)文件的頁數(shù)是指定的;
功能3:將某個(gè)文件夾下的多個(gè)pdf文件合并,
功能4:提取pdf文件中表的數(shù)據(jù),表中不能有合并單元格,
功能5:提取PDF中某個(gè)段落數(shù)據(jù)到EXCEL
功能6:提取pdf文件中表的數(shù)據(jù),表中可以有合并單元格
功能7:將文件夾下的多個(gè)PDF轉(zhuǎn)變成WORD文件,并放在同路徑下的WORD文件夾下(事前建立)
但是,由于有些PDF的文件完全完美的讀取對于VBA而言是非常困難的,還不能夠完全實(shí)現(xiàn),也希望學(xué)員的技術(shù)在我的基礎(chǔ)上有所突破,
【分享成果,隨喜正能量】
下面是NZ系列VBA應(yīng)用工具:文章來源:http://www.zghlxwxcb.cn/news/detail-647352.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-647352.html
到了這里,關(guān)于NZ系列工具NZ02:VBA讀取PDF使用說明的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!