我创建了宏来一次性替换多个字符。如果我将它应用于整个文档,然后将另一段文本粘贴到同一个文档中,那么应用相同的宏对新粘贴的文本来说没问题,但会弄乱已经应用宏的其余文本。
我在想,如果宏只能应用于选定的文本,而文档的其余部分不受影响,问题就会解决。
有人能帮忙吗?
问候,汤姆
答案1
更改 .Wrap =查找继续到 .Wrap =查找停止位在你的宏中:
' Macro1 Macro
'
'
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "ä"
.Replacement.Text = ChrW(257)
.Forward = True
.Wrap = wdFindContinue
答案2
仅适用于选择(用空格符号替换 Enters):
Sub RemoveEntersForSelectedText()
With Selection.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "^p"
.Replacement.Text = " "
.Forward = True
.Wrap = wdFindStop
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
.Execute Replace:=wdReplaceAll
End With
End Sub