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