快速替换指定单词
有個(gè)愛(ài)學(xué)習(xí)的小朋友要突擊英語(yǔ),需要做一些填空題目,重要的單詞已經(jīng)用下劃線標(biāo)記出來(lái)了。
制作填空題時(shí),需要保留單詞的第一個(gè)字母,這樣可以提示答題者,后面是空格由于填空。
如果按人工逐個(gè)單詞去修改,估計(jì)要搞到地老天荒了,幸好有VBA這個(gè)法寶,當(dāng)然這樣的處理肯定是Word VBA,而不是Excel VBA了。
代碼如下:
【代碼解析】
第3~11行代碼使用For…Next循環(huán)遍歷當(dāng)前文檔的全部Sentence對(duì)象。
第4~10行代碼使用For…Next循環(huán)遍歷Sentence對(duì)象中的全部Word對(duì)象。
如果Word對(duì)象具備下劃線格式,那么將是需要處理為填空的單詞。
如果一個(gè)英文單詞后面是空格,那么Word對(duì)象是包括這個(gè)尾隨空格的,如果英文單詞之后是標(biāo)點(diǎn)符號(hào),那么Word對(duì)象不包含標(biāo)點(diǎn)符號(hào)。選中Word對(duì)象可以看到效果,如下圖所示。
第6行代碼將其實(shí)位置后移一位,保留第一字母
第7行代碼根據(jù)Trim之后的字符長(zhǎng)度變化,來(lái)判斷是否包含尾隨空格。如果有尾隨空格,在將Word對(duì)象的End字符位置前移一位,避免替換尾隨空格。
第8行代碼替換單詞為填空形式。
另一種實(shí)現(xiàn)方式,Word中可以進(jìn)行按格式查找,代碼如下。
Sub Demo2()Set cont = ActiveDocument.ContentWith cont.Find.Font.Underline = wdUnderlineSingleDo While .Executecont.Start = cont.Start + 1cont.Text = Space(Len(cont.Text))LoopEnd With End Sub【代碼解析】
第4行代碼設(shè)置查找下劃線格式。
第5~8行循環(huán)查找全部匹配的單詞,并完成替換。
運(yùn)行代碼,立刻搞定,學(xué)習(xí)也可以這么簡(jiǎn)單!
總結(jié)
- 上一篇: Groovy的元编程
- 下一篇: 服务认证的介绍-实施依据及作用