贊贊小屋

Excel VBA網路爬蟲,將資料複製到Word文件編輯後儲存

Excel設計VBA程式網路爬蟲時,取得資料如果是大量文字,不太適合直接儲存在工作表。本文以稅務新聞為例,介紹引用Office Word作為程式物件,另存為文件檔案。

一、news.innerText

引用本章第一節第六步驟的VBA程式碼,建立一個「Tax_Articles」程序巨集,將原來的第120列改成「Articles = news.innerText」,如同上一節對於「innerText」的分析,這裡用意是純粹取得網頁文字即可。

Excel VBA網路爬蟲,將資料複製到Word文件編輯後儲存 VBA網路爬蟲 第1張

二、Excel取得網頁新聞

結果如同預期,取得單純的稅務新聞,輸入於Excel「A1」儲存格,但其實Excel並不適合閱讀及處理大量的文字。

Excel VBA網路爬蟲,將資料複製到Word文件編輯後儲存 VBA網路爬蟲 第2張

三、VBA操作Word物件

編寫VBA程式碼,如同程序名稱「Word_Add」,在這裡要透過Excel VBA下達命令,新增一個Word文件!

10:建立程序;

20:宣告物件變量,名稱為「wordadd」;

30:建立名稱為「wordadd」的Word文書處理軟體物件;

40~70:操作上一列程式所建立的Word物件,新增一個Word文件,命名為「6.3 另存Word文件」,儲存於和目前Excel檔案相同路徑;

80:關閉這個新增且已儲存的Word檔案;

90:釋放物件變量「wordadd」,用意是不再佔用記憶體資源,在外掛其他應用程式時,再好養成釋放物件的習慣,因為記憶體資源相當有限;

100:結束程序。

Excel VBA網路爬蟲,將資料複製到Word文件編輯後儲存 VBA網路爬蟲 第3張

四、新增Word文件

果然新增了一個Word文件。

Excel VBA網路爬蟲,將資料複製到Word文件編輯後儲存 VBA網路爬蟲 第4張

五、Word空白文件

開啓剛剛新增的文件,發現空空如也。

Excel VBA網路爬蟲,將資料複製到Word文件編輯後儲存 VBA網路爬蟲 第5張

六、VBA編輯Word文件

在第三個步驟的基礎上,修改並添加VBA程式碼:

20~30:純粹Excel操作,宣告一個文字變量,將「A1」儲存格的內容寫到這文字變量裡;

80~140:VBA不但新增一個Word文件,並且直接利用程式碼,於Word文件輸入文字「稅務新聞」、字體大小為「15」,空一行後,再輸入Excel「A1」儲存格的內容、字體大小為「12」。

Excel VBA網路爬蟲,將資料複製到Word文件編輯後儲存 VBA網路爬蟲 第6張

七、Word取得網頁新聞

終於大功告成!

Excel VBA網路爬蟲,將資料複製到Word文件編輯後儲存 VBA網路爬蟲 第7張

Office家族成員都有的VBA外掛

本書截至目前為止,都是運用Excel VBA取得網頁資料,所以這一節即使最終儲存為Word文件,仍然是透過Excel。但其實主要的Office軟體都能編寫VBA,例如包括Word、PowerPoint、Outlook,剛好現在的範例較適合Word,在下一節便嘗試直接於Word執行VBA。

本文內容取自《人人做得到的網路資料整理術》,書本仍然是最好的學習方法,今天就買本書吧!

博客來網路書店網址:

Excel VBA網路爬蟲,將資料複製到Word文件編輯後儲存 VBA網路爬蟲 第8張