太棒了,非常感谢!
【 在 callmebbser 的大作中提到: 】
:
: WORD里随便录制个宏,然后编辑宏,把里面录制的宏全部删除,再把下面的代码贴进去
: ,把里面的国家和城市数组(countries、cities)内容分别改成你的相应的国家和城市,
: 然后运行batchReplace宏,就可以把全文中的“北京”全部换成“中国北京”。
:
: 为了防止正文中已经有“中国北京”,若是不做处理,直接把北京替换成中国北京,
: 就会变成“中国中国北京”。因此,得先把“中国北京”替换成“北京”,然后再
: 把“北京”替换成“中国北京”。 : Sub batchReplace()
: '
: ' 批量替换宏
: '
: Dim countries, cities, i
: countries = Array("中国", "美国", "法国", "英国", "俄罗斯")
: cities = Array("北京", "华盛顿", "巴黎", "伦敦", "莫斯哥")
:
: For i = 0 To UBound(countries)
: '先把"中国北京"替换为"北京",若是一开始就把"北京"替换为"中国北京",
: '结果就可能出现"中国中国北京"
: replaceText countries(i) + cities(i), cities(i) : : '再把"北京"替换为"中国北京"
: replaceText cities(i), countries(i) + cities(i)
: Next
:
: End Sub
:
: Sub replaceText(ByVal findText As String, ByVal replaceText As String)
: '
: '替换文本子过程,供batchReplace调用
: '
: Selection.Find.ClearFormatting
: Selection.Find.Replacement.ClearFormatting
: With Selection.Find
: .Text = findText
: .Replacement.Text = replaceText
: .Forward = True
: .Wrap = wdFindContinue
: .Format = False
: .MatchCase = False
: .MatchWholeWord = False
: .MatchByte = True
: .MatchWildcards = False
: .MatchSoundsLike = False
: .MatchAllWordForms = False
: End With
:
: Selection.Find.Execute Replace:=wdReplaceAll
:
: End Sub
:
:
:
: --
发自「今日水木 on Redmi K20 Pro」
--
FROM 120.204.143.*