王志軍
在職場實(shí)踐中,利用VBA代碼可以大大提高Word操作效率,這里舉幾個(gè)例子以作說明。
批量替換文檔第一行為文件名
最近在工作中遇到一個(gè)問題,領(lǐng)導(dǎo)要求將某些Word文檔的第一行修改為文件名,如果純手工修改,操作將相當(dāng)繁瑣。思考之后,決定利用VBA代碼解決這一問題。
新建Word文檔,按下“Alt+F11”組合鍵,打開Microsoft Visual Basic for Applications編輯器窗口,依次選擇“插入/模塊”,在右側(cè)窗格插入一個(gè)空白模塊(如圖1),手工輸入或粘貼如下代碼(相關(guān)代碼請關(guān)注電腦迷微信回復(fù)1504vba1獲?。?。
上述代碼的“.Filters.Add "所有 WORD 文件", "*.doc", 1”表示文件擴(kuò)展名為.doc,“.AllowMultiSelect = True”表示允許多項(xiàng)選擇,檢查無誤之后,依次選擇“文件/關(guān)閉并返回到Microsoft Word”命令,返回Word主界面。按下“Alt+F8”組合鍵,打開“宏”對話框,選擇并運(yùn)行Example宏,此時(shí)會(huì)彈出“瀏覽”對話框(如圖2),選擇需要處理的Word文檔,確認(rèn)之后稍等片刻即可將這些文檔的第一行批量修改為文件名。
補(bǔ)充:Word文檔的首行必須不是空行,而且不是段落,否則上述代碼將無法實(shí)現(xiàn)。
利用VBA代碼快速標(biāo)示英文單詞
同事前來求助,他有一個(gè)Word版本的英文文章、一個(gè)TXT版本的單詞列表,希望借助VBA,將TXT文本中的單詞在Word文檔中標(biāo)示出來,并使用醒目的紅色進(jìn)行標(biāo)記,TXT文本中不存在的單詞可以在Word文檔自然忽略,該如何操作呢?
首先請將Word文檔與TXT文本放在同一文件夾下,而且TXT文本中的每個(gè)單詞需要單獨(dú)列行。打開Word,載入英文文章,按下“Alt+F11”組合鍵,打開Microsoft Visual Basic for Applications編輯器窗口,依次選擇“插入/模塊”,在右側(cè)窗格插入一個(gè)空白模塊(如圖3),手工輸入或粘貼如下代碼(相關(guān)代碼請關(guān)注電腦迷微信回復(fù)1504vba2獲?。?。
上述代碼中的“l(fā)ist.txt”必須與TXT文件名保持一致,如果希望標(biāo)示為其他的顏色,只需更改“wdColorRed”即可。檢查無誤之后,按下“Alt+F8”組合鍵,打開“宏”對話框,選擇并運(yùn)行宏,很快就可以看到效果(如圖4)。
如果不想使用VBA代碼,也可以使用360軟件管家下載“Word靈感百寶箱”,使用其中的“字符上下標(biāo)設(shè)置”功能設(shè)置,注意操作時(shí)請取消“替換時(shí)打開修訂功能”即可。
利用VBA代碼逐頁打印
輸出圖片文件
最近在工作中遇到一個(gè)問題,出于防復(fù)制的需要,領(lǐng)導(dǎo)希望將某些重要的Word文檔逐頁打印為單獨(dú)的圖片文件,這自然是使用內(nèi)置的虛擬打印機(jī)Microsoft XPS Document Writer實(shí)現(xiàn),文件名使用“當(dāng)前頁面+當(dāng)前文件名”的規(guī)則,除了手工打印之外,有沒有簡單一些的方法呢?
我們可以利用VBA代碼實(shí)現(xiàn),打開需要逐頁打印輸出圖片文件的Word文檔,按下“Alt+F11”組合鍵,打開Microsoft Visual Basic for Applications編輯器窗口,依次選擇“插入/模塊”,在右側(cè)窗格插入一個(gè)空白模塊,手工輸入或粘貼如下代碼(相關(guān)代碼請關(guān)注電腦迷微信回復(fù)1504vba3獲?。ㄈ鐖D5)。
上述代碼中的“e:\Temp\temp4\”表示文件的輸出路徑,可以根據(jù)實(shí)際情況自行調(diào)整。檢查無誤之后,選擇“文件/關(guān)閉并返回到Microsoft Word”命令,返回Word主界面,按下“Alt+F8”組合鍵,打開“宏”對話框,選擇并運(yùn)行宏,此時(shí)Word會(huì)逐頁打印輸出,稍等片刻,我們就可以在指定位置發(fā)現(xiàn)已輸出的圖片文件(如圖6)。