Обновить тему входящей почты - PullRequest
0 голосов
/ 31 января 2019

Я пытаюсь удалить RES: и ENC: (ответ и переадресация на португальском языке) при получении сообщения (по правилу уже отправлено в папку, указанную в коде).

Хотя код работает,в msgbox тема отображается без префиксов, она не обновляет тему.

Я думаю, это как-то связано с ByVal или ByRef;Я попробовал оба, и все идет так, как я описал с ByVal, в то время как с byRef даже не запускается.

Вот код:

Option Explicit

Private WithEvents inboxItems As Outlook.Items

Private Sub Application_Startup()
    Dim outlookApp As Outlook.Application
    Dim objectNS As Outlook.NameSpace

    Set outlookApp = Outlook.Application
    Set objectNS = outlookApp.GetNamespace("MAPI")
    Set inboxItems = 
    objectNS.GetDefaultFolder(olFolderInbox).Folders("TESTA").Items
End Sub

Private Sub inboxItems_ItemAdd(ByVal Item As Object)
    Dim Msg As Outlook.MailItem     
    Dim assunto As String
    If TypeName(Item) = "MailItem" Then
        assunto = Replace(Replace(Item.Subject, "RES: ", ""), "ENC: ", "")
        Item.Subject = assunto
        MsgBox (assunto)
    End If
End Sub

1 Ответ

0 голосов
/ 01 февраля 2019

Просто забудьте ByVal и ByRef.Добавьте эту строку после последнего сообщения MsgBox:

Item.Save

...