小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

VBA批量替換多個(gè)word中的特定詞 | VBA實(shí)例教程

 gblhp 2015-02-16

除非注明,文章均為 戰(zhàn)戰(zhàn)如瘋 原創(chuàng),轉(zhuǎn)載請(qǐng)保留鏈接: http://www./cat4/411.html,VBA交流群273624828。

之前我們講過(guò)一些excel vba操作word的例子,這節(jié)我們?cè)賮?lái)看一個(gè)VBA在Word中應(yīng)用的實(shí)例?,F(xiàn)在我手上有很多word文檔,現(xiàn)在我需要將所有Word中的某個(gè)詞改成另一個(gè)詞,比如在實(shí)際工作中需要將所有客戶(hù)報(bào)告中的聯(lián)系電話(huà)改為新的號(hào)碼。之前我們都是在Excel中操作Word,這次我們直接在Word中運(yùn)行宏。在Word中運(yùn)行VBA和在Excel中相似,首先必須要啟用宏,然后Alt+F11就可以打開(kāi)宏編輯界面輸入代碼。

這個(gè)問(wèn)題的思路很簡(jiǎn)單,遍歷每一個(gè)Word文件,對(duì)每個(gè)文件中的某個(gè)詞進(jìn)行全部替換即可。Word VBA中的遍歷和Excel是相同的,用Dir函數(shù)即可。提到替換我們首先應(yīng)該想到Word中有一個(gè)替換的功能,可以一次性替換文檔中的某個(gè)詞,如果我們錄制出這個(gè)替換的宏,然后再加上個(gè)循環(huán)的代碼這不就可以完成任務(wù)了嗎?看下面的代碼

Sub 宏1()
Dim mypath, myfile
mypath = ThisDocument.Path & "\"
myfile = Dir(mypath & "*.docx")
Do While myfile <> ""
Documents.Open FileName:=mypath & myfile, Visible:=False
Documents(myfile).Activate
'下面的宏是錄制的
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "戰(zhàn)戰(zhàn)如瘋"
.Replacement.Text = "戰(zhàn)戰(zhàn)不瘋"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
'上面的代碼是錄制的
ActiveDocument.Save
ActiveDocument.Close
myfile = Dir
Loop
End Sub

因?yàn)槲覀冞@個(gè)宏是在Word中運(yùn)行的,所以沒(méi)有之前講過(guò)的在Excel中調(diào)用Word那么復(fù)雜,可以直接用Document代碼當(dāng)前文檔,Open方法打開(kāi),將打開(kāi)的文檔設(shè)為活動(dòng)文檔(Activate),中間一大段都是錄制的,感興趣的可以百度下各個(gè)參數(shù)是什么意思。然后保存、關(guān)閉活動(dòng)文檔,Dir下一個(gè)文檔。

除了錄制宏我們?cè)谥啊?a title="VBA批量生成Word報(bào)告" href="http://www./cat4/204.html" target="_blank">VBA批量生成Word報(bào)告“中講了一種查找替換的方法,在這里自然也是可以用的

Sub 宏2()
Dim mypath, myfile
mypath = ThisDocument.Path & "\"
myfile = Dir(mypath & "*.docx")
Do While myfile <> ""
Documents.Open FileName:=mypath & myfile, Visible:=False
Documents(myfile).Activate
Do While Selection.Find.Execute("戰(zhàn)戰(zhàn)不瘋") '尋找客戶(hù)這個(gè)關(guān)鍵詞,將其用表格中的姓名來(lái)代替
Selection.Text = "戰(zhàn)戰(zhàn)如瘋"
Selection.HomeKey Unit:=6
Loop
ActiveDocument.Save
ActiveDocument.Close
myfile = Dir
Loop
End Sub

同樣的循環(huán)遍歷,只不過(guò)替換代碼換了下,可以參考之前我們用Excel操作Word的例子,用法是完全相同的。

本節(jié)示例文件下載地址:http://pan.baidu.com/s/1i323vlb

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多