日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

快速替换指定单词

發(fā)布時(shí)間:2023/12/20 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 快速替换指定单词 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

有個(gè)愛(ài)學(xué)習(xí)的小朋友要突擊英語(yǔ),需要做一些填空題目,重要的單詞已經(jīng)用下劃線標(biāo)記出來(lái)了。

制作填空題時(shí),需要保留單詞的第一個(gè)字母,這樣可以提示答題者,后面是空格由于填空。

如果按人工逐個(gè)單詞去修改,估計(jì)要搞到地老天荒了,幸好有VBA這個(gè)法寶,當(dāng)然這樣的處理肯定是Word VBA,而不是Excel VBA了。
代碼如下:

Sub Demo1()Dim sen As Range, wor As RangeFor Each sen In ActiveDocument.SentencesFor Each wor In sen.WordsIf wor.Underline = 1 Thenwor.Start = wor.Start + 1wor.End = wor.End - (VBA.Len(wor) - VBA.Len(Trim(wor)))wor.Text = Space(VBA.Len(Trim(wor)))End IfNextNext End Sub

【代碼解析】
第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é)

以上是生活随笔為你收集整理的快速替换指定单词的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。