王志軍
例如“山藥”替換為“土豆”、“金瓜”替換為“南瓜”,諸如此類,由于需要替換的詞條比較多,手工替換顯然比較麻煩,其實我們可以利用VBA代碼實現(xiàn)上述的引用級替換需求:
首先在Excel制作對照表,創(chuàng)建“原詞”和“新詞”兩列,分別輸入相關(guān)的詞條,保證所有已打開的Excel文件已經(jīng)處于關(guān)閉狀態(tài)。接下來打開需要實現(xiàn)替換的Word文檔,按下“Alt+F11”組合鍵,打開Microsoft Visual Basic for Applications編輯器窗口,依次選擇“插入/模塊”,在右側(cè)窗格插入一個空白模塊(如圖1),在這里手工輸入或粘貼代碼(關(guān)注電腦迷微信回復(fù)“201505vba1”獲取下載鏈接)。
上述代碼中的“ ActiveDocument.Content.Find.Execute findtext:=.Range("a" & i), replacewith:=.Range("b" & i), Replace:=wdReplaceAll, Forward:=True”行表示將Excel工作表的A列內(nèi)容替換為B列內(nèi)容,因此如果“原詞”和“新詞”的位置不在A、B列,請根據(jù)實際情況進行修改。代碼檢查無誤之后,選擇“文件/關(guān)閉并返回到Microsoft Excel”,返回Excel主界面,按下“Alt+F8”組合鍵,打開“宏”對話框,選擇并運行宏,很快就可以實現(xiàn)批量替換的需求。
如果運行代碼后提示“用戶定義類型未定義”的編譯錯誤,請仍然進入Microsoft Visual Basic for Applications編輯器窗口,從“工具”菜單下打開“引用”對話框(如圖2),在“可使用的引用”列表下勾選“Microsoft Excel 15.0 Object Library”復(fù)選框,這是由于筆者使用的Excel是2013版本,其他版本請根據(jù)實際情況進行選擇,確認之后關(guān)閉對話框。重新返回Excel主界面,此時運行VBA代碼就不會有錯誤信息出現(xiàn)了。