Поиск и замена определенной строки в теме сообщения Outlook

Я пытаюсь запустить сценарий 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

Буду признателен за вашу помощь

1 ответ

Изменения в теме для полученных сообщений будут отражены только в пользовательском интерфейсе заголовка. Вы также должны изменить значение MailItem.ConversationTopic, но оно доступно только для чтения. Однако вы можете использовать PropertyAccessor.SetProperty (" http://schemas.microsoft.com/mapi/proptag/0x0070001F", "Новая тема") для его обновления.

Другие вопросы по тегам