【问题标题】:Search and replace specific string on Outlook message subject搜索和替换 Outlook 邮件主题上的特定字符串
【发布时间】:2017-06-14 15:51:33
【问题描述】:

我正在尝试运行一个 VBScript,它在所有传入消息中搜索主题字段中的特定字符串,并将其替换为其他内容,但保留主题内容的其余部分。到目前为止,这是我的代码,但我没有得到任何结果。

接收邮件主题:[EXTERNAL] abcdfed ghijk lmno

我需要什么:[*] abcdfed ghijk lmno

Sub RunAScriptRuleRoutine(MyMail As MailItem)
    Dim strID As String
    Dim olNS As Outlook.NameSpace
    Dim msg As Outlook.MailItem
    Dim rply As Outlook.MailItem

    strID = MyMail.EntryID
    Set olNS = Application.GetNamespace("MAPI")
    Set msg = olNS.GetItemFromID(strID)
    ' do stuff with msg, e.g.
    msg.Subject = Replace(msg.Subject, "[EXTERNAL]", "[*]")
    msg.Save

    Set msg = Nothing
    Set olNS = Nothing
End Sub

感谢您的帮助

【问题讨论】:

  • 您的意思是说在邮件主题中,方括号内可以有任何文本,您需要用 * 替换该文本?还是永远是“外部”这个词?你遇到什么问题?您是否尝试在调试模式下运行代码以找到问题的根本原因?
  • 你好。单词 [EXTERNAL] 将始终与消息一起到达。我需要用 [*] 替换它。我试图运行代码,但我根本没有收到任何错误。它只是没有做任何事情。

标签: vbscript outlook outlook-2016


【解决方案1】:

收到消息的主题更改只会反映在标题 UI 中。您还必须更改 MailItem.ConversationTopic 值,但它是只读的。但是,您可以使用 PropertyAccessor.SetProperty("http://schemas.microsoft.com/mapi/proptag/0x0070001F", "New subject") 来更新它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-10
    • 1970-01-01
    • 2022-01-01
    • 2011-04-13
    • 1970-01-01
    • 2018-01-02
    相关资源
    最近更新 更多