在Outlook邮件主题上搜索并替换特定字符串

时间:2017-06-14 15:51:33

标签: vbscript outlook outlook-2016

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

传入邮件主题: [外部] 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

我将非常感谢您的帮助

1 个答案:

答案 0 :(得分:0)

对已接收邮件的主题的更改将仅反映在标题UI中。您还必须更改MailItem.ConversationTopic值,但它是只读的。但是,您可以使用PropertyAccessor.SetProperty(“http://schemas.microsoft.com/mapi/proptag/0x0070001F”,“新主题”)来更新它。