Word VBA:批量轉(zhuǎn)PDF且保留書簽
一、前提說明
1.討論范圍
這里只討論通過Word軟件自帶的方法完成生成PDF時創(chuàng)建PDF標(biāo)簽的方法,外部插件不在探討和研究范圍
2.示例文檔說明

示例文檔里面有兩處標(biāo)題和一處書簽。
二、Word自帶轉(zhuǎn)PDF方法
1.另存
點擊【文件】-【另存為】,格式選【PDF】

可以看到在保存選項中,有根據(jù)標(biāo)題和Word書簽創(chuàng)建書PDF簽選項的選項。
2.打印
點擊【文件】-【打印】,選擇虛擬打印機(jī)最好的微軟自帶的

可以看到,在【打印機(jī)屬性】中是沒有PDF標(biāo)簽的設(shè)置選項的
3.導(dǎo)出
(1)點擊【文件】-【導(dǎo)出】-【創(chuàng)建PDF/XPS文檔】

(2)點擊上圖右側(cè)【創(chuàng)建PDF/XPS文檔】,在彈出的導(dǎo)出按鈕中,也有【選項】按鈕,點擊可以在對話框中設(shè)置導(dǎo)出PDF時的標(biāo)簽選項

綜上測試與觀察,得出結(jié)論:
手動方式中,可以通過另存和導(dǎo)出兩種方式,完成Word轉(zhuǎn)PDF時根據(jù)Word標(biāo)題或書簽創(chuàng)建PDF標(biāo)簽的任務(wù)。
三、VBA代碼另存和導(dǎo)出和手動的差別
注:這里以另存激活文檔(當(dāng)前正打開的文檔)為PDF舉例
1.另存
另存至少需要寫兩個參數(shù):文件名和格式
但是,Word VBA另存的方法中是沒有創(chuàng)建PDF書簽的參數(shù)的,通過官方文檔也可以證實:



此外,我們打開一個用上述這段代碼另存的一個文件也可以再次證實上述結(jié)論:

至此,可以總結(jié):
如果需要用VBA批量操作,我們就只能通過【導(dǎo)出】的方式達(dá)到生成PDF同時創(chuàng)建PDF書簽的要求。
2.導(dǎo)出
(1)方法
我們可以通過【ExportAsFixedFormat】或者【ExportAsFixedFormat2】方法進(jìn)行導(dǎo)出,二者的區(qū)別中此處可以不用管。
(2)參數(shù)
通過官方文檔,可以看到所有參數(shù)


這里,前兩個參數(shù)是導(dǎo)出的文件路徑和文件格式,必須要寫。

這里,剪頭標(biāo)記的參數(shù)【CreateBookmarks】,通過說明可以看到就是選擇生成PDF時書簽的參數(shù)。
具體怎么設(shè)置呢?點擊紫色文字

繼續(xù)看一下官方文檔:

可以清楚看到,三類書簽選項的枚舉常量名稱、值及其說明,此參數(shù)根據(jù)需要選擇即可。
(3)示例代碼
A.根據(jù)Word標(biāo)題創(chuàng)建PDF書簽
我們將文檔導(dǎo)出到前面演示相同的位置,格式為PDF,書簽參數(shù)選擇上圖中的第1種
我們看看生成的PDF文件

可以看到,PDF中只有Word文檔中兩處標(biāo)題對應(yīng)的書簽。
B.根據(jù)Word書簽創(chuàng)建PDF書簽
我們將文檔導(dǎo)出到前面演示相同的位置,格式為PDF,書簽參數(shù)選擇上圖中的第3種
我們看到生成的PDF書簽效果:

可以看到只有Word書簽的內(nèi)容,和官方說明文檔完全一樣,沒有問題。
四、批量操作代碼
1.示例代碼
2.注意
會對所選主文件夾及其各級文件夾下所有Word文件執(zhí)行導(dǎo)出操作。(注釋也有說明)