在Outlook邮件中查找和替换特定字符串

时间:2016-01-29 03:03:27

标签: vba outlook outlook-vba

我的代码基本上在电子邮件正文中搜索字符串"#XX""#XX"后面通常会跟"#XXApple"这样的文字。在电子邮件中可以多次看到此"#XXApple"

下面的代码以这样一种方式工作,它只用空格替换第一个命中。但是,"#XXApple"的其余部分只会更改为"Apple"

有没有办法让我可以做一个"查找和替换全部"在Outlook?

obj.HTMLBody = Replace(obj.HTMLBody, "#XX", " ", 15)

2 个答案:

答案 0 :(得分:0)

未经过测试或验证,但这是我在上述评论中的意思。

 Dim Cet
 Dim TesPos As Int, i As Int
 Cet = Split(obj.HTMLBody, " ")

 For i=LBound(Cet) to Ubound(Cet)
     TestPos = 5
     TestPos = InStr(1,Cet(i), "#XX", CompareMethod.Text)

     if TestPos = 1 then
         Cet(i) = ""
     Else: End if
 Next i

 obj.HTMLBody = ""
 For i=LBound(Cet) to Ubound(Cet)
    obj.HTMLBody = obj.HTMLBody & " " & Cet(i)
 Next i

 Debug.Print obj.HTMLBody

答案 1 :(得分:0)

Outlook对象模型提供了三种使用项主体的主要方法:

  1. Body - 表示Outlook项目的明文正文的字符串。
  2. HTMLBody - 表示指定项目的HTML正文的字符串。
  3. Word editor - 正在显示的消息的Microsoft Word文档对象模型。 Inspector类的WordEditor属性从Word对象模型返回Document类的实例,您可以使用它来设置消息体。
  4. 您可以在Chapter 17: Working with Item Bodies中详细了解所有这些方式。我们取决于你选择处理消息体的方式。但Word对象模型提供了完成工作所需的所有方法。