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