好的!谢谢守柔大侠! 基本达到要求,只是嵌套的EQ这两个字母如全为大写时尚可删掉,如果为另3种可能的写法:eq、Eq、eQ,则不能删掉。我在: newCode = VBA.Replace(oldCode, "EQ", "")下加了一句试了一下,但小写“eq”还是不能删掉。 newCode = VBA.Replace(oldCode, "eq", "") 于是我在代码的前面加了下面的语句段: With ActiveDocument.Content.Find .ClearFormatting .MatchWildcards = True '先将EQ和\间的半角和全角空格规范成1个半角空格 .Execute findtext:="([ ]@)\\", replacewith:=" ^092", Replace:=wdReplaceAll End With '再将eq的大小写混写的情况一律规范成大写EQ With ActiveDocument.Content.Find .ClearFormatting .Execute findtext:="eq \", replacewith:="EQ \", Replace:=wdReplaceAll End With 可达目的,但此法明显不太简洁。且万一正文中其他地方在这样情况也会被误转换。 不知还有无更好的方法?
|