我想删除所有出现的双括号,只包含所选文本块中的单词,而不是整个文档。在同一个选定的文本块中,我想找到三个特定字符串中的一个,删除字符串,然后插入字符串以前所在的选项卡。
我使用Record Macro函数来获取用于查找双括号出现次数和特定字符串的代码,但是一旦我删除找到的匹配项,选择就会更改,以便我无法再搜索我选择的原始字符串仅限文本块。
我的问题是如何将基本上4个搜索串联在一起 - 3个是由选项卡删除/替换的精确字符串,1是通配符搜索 - 所有4个搜索仅限于我选择的文本块开始执行宏。
答案 0 :(得分:0)
Sub formattedtext()
Dim rng As Range
With ActiveDocument.Range
Set rng = Selection.Range
With rng.Find
.ClearFormatting
.Replacement.ClearFormatting
.Forward = True
.Wrap = wdFindStop
.Format = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.Text = "()"
.Replacement.Text = ""
.Execute Replace:=wdReplaceAll
End With
Set rng = Nothing
End With
End Sub
如果您指的是包含in the ((end)) it doesn't even matter.
等字词的双括号,则可以替换
.MatchWildcards = False
.Text = "()"
与
.MatchWildcards = True
.Text = "\(\([A-Za-z 0-9α-ω,^13*.;:'"]{1,}\)\)"
这将匹配(())之间的任何单词。您可以替换.Text字符串中[]中的内容以符合您的需要。