Word VBA Regex 替换文本插入到错误的位置

Word VBA Regex 替换文本插入到错误的位置

我有一个 Word 模板,其中有一个宏可以进行文本替换。但是它将替换文本粘贴到了错误的位置。但是,手动使用 Word 搜索/替换功能(Ctrl + H;选中“使用通配符”选项)使用相同的搜索和替换文本可以获得完美的结果。适用的代码部分:

With Selection.find
.Text = find
.Replacement.Text = replace
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.CorrectHangulEndings = True
.HanjaPhoneticHangul = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchFuzzy = False
.MatchWildcards = True
Selection.find.Execute replace:=wdReplaceAll
End With

搜索文本:Ne ([1-9])

替换文本:NeverMind \1

手动替换结果:NeverMind 1:2

宏替换结果:NeverM1ind :2

你能帮忙吗,出了什么问题?

答案1

感谢大家对此发表评论。看来此行为与 Microsoft 的一个已知错误有关:使用“跟踪更改”进行通配符查找和替换。

https://answers.microsoft.com/en-us/msoffice/forum/all/wildcard-find-and-replace-with-track-changes/cd35b715-f539-4d0b-902d-7f977dcf67e5

相关内容