ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > Word > [Word VBA]Word中如何将指定的单词批量设置为斜体?

[Word VBA]Word中如何将指定的单词批量设置为斜体?

作者:绿色风 分类: 时间:2022-08-18 浏览:188
楼主
wjc2090742
Q:Word中如何将指定的单词批量设置为斜体?如下面2图,需要将上图文档中EGFR、KRAS、BRAF这3个单词批量设置为斜体,如下图中效果。使用查找替换,需要3次操作,能否批量完成呢?

 

 
A:思路:利用正则,匹配这3个单词。利用匹配项的firstindex和Length属性来确定文档中要设置为斜体的文字范围。代码:
  1. Sub text()
  2. Dim str$, reg As Object, ma As Object
  3. str = ActiveDocument.Range.text
  4. Set reg = CreateObject("vbscript.regexp")
  5. With reg
  6.     .Global = True
  7.     .IgnoreCase = False
  8.     .MultiLine = True
  9.     .Pattern = "EGFR|KRAS|BRAF"
  10. End With
  11. For Each ma In reg.Execute(str)
  12.     ActiveDocument.Range(ma.firstindex, ma.firstindex + ma.Length).Font.Italic = True
  13. Next
  14. Set reg = Nothing: Set ma = Nothing
  15. End Sub

该帖已经同步到 wjc2090742的微博

Word中如何将指定的单词批量设置为斜体?.rar
2楼
chenlifeng
昨晚尝试贵贴到今晨,发现不足:
    我用自己的文档一试,且改变代码中的两句话:
.Pattern = "婚|京"
ActiveDocument.range(ma.firstindex, ma.firstindex + ma.Length).Font.Color = vbRed
其余未动分毫,结果,其它字眼也变成红色了。
3楼
wjc2090742
以回答你的问题的经验来说,首先请新建文档尝试,另外可以提问并提交附件来看看。
4楼
chenlifeng
刚才又尝试了下,并把电脑关机重新打开来试,结果发现:可以了。
     今天早上七点的时候,确实是不成功的。估计是当前WORD文件在某方面特殊影响的缘故。
5楼
chenlifeng
  1. Sub Macro4()
  2. Dim str$, reg As Object, Ma As Object
  3. str = ActiveDocument.range.text
  4. Set reg = CreateObject("vbscript.regexp")
  5. With reg
  6.     .Global = True
  7.     .IgnoreCase = False
  8.     .MultiLine = True
  9.     .Pattern = "地|年"
  10. End With
  11. For Each Ma In reg.Execute(str)
  12.     ActiveDocument.range(Ma.firstindex, Ma.firstindex + Ma.Length).Font.Color = vbRed
  13. Next
  14. Set reg = Nothing: Set Ma = Nothing
  15. End Sub
已经上传了附件,还是不成,把不该替换的也替换了,我用下面的代码,我执行代码是在normal中:

举例.rar
6楼
chenlifeng
说明:上面代码只是把目标字符改为颜色,而我的真正用意,是把这个查找到的字符,通通从当前文档中开除(删掉),我不会用。
7楼
wjc2090742
明天再看吧,打球回来,洗澡了看看书就睡了。另外为什么在normal中啊?你可以创建一个模板,需要时引用就好了,你翻翻,我答过这样的帖子。或者你请教下罗版,做成加载项,这样灵活多了。

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap