Word / Outlook - 在查找和替换后保留选择以允许多次替换

时间:2014-08-16 14:34:00

标签: replace outlook selection

我正在尝试在Outlook消息中查找并替换所选文本中的多个文本字符串。

查找和替换字符串列表采用格式的2x2数组(变体)。 查找字符串替换字符串 字符串1字符串1A String 2 String 2A

用户选择要在其中执行查找和替换的Outlook邮件项目中的文本。

使用下面的代码查找和替换对第一个项目有效,但一旦完成,不再选择文本,第二个项目的查找适用于整个邮件正文,而不仅仅是最初选择的文本。 / p>

Dim vList() As Variant
Set msg = ActiveInspector.CurrentItem
Set objInsp = msg.GetInspector
Set objDoc = objInsp.WordEditor
Set objSel = objDoc.Windows(1).Selection

For R = 1 To UBound(vList, 1) ' First array dimension is rows.
    objSel.Find.ClearFormatting
    objSel.Find.Replacement.ClearFormatting
    With objSel.Find
        .Text = vList(R, 1)
        .Replacement.Text = vList(R, 2)
        .Forward = True
        .Wrap = wdFindStop
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
        .Execute Replace:=wdReplaceAll
    End With
Next R

有没有一种方法可以保留选择,以便我可以在最初选择的文本上执行第二组查找和替换字符串?或者另一种方法来获得我想要处理变量的范围?

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

如果您将选择范围转换为范围,则可以使用它。

Set objRange = objDoc.Windows(1).Selection.Range