更新接收邮件的主题

时间:2019-01-31 17:15:46

标签: vba outlook-vba

我正在尝试在收到消息(按照规则已经发送到代码中引用的文件夹)后删除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 :(得分:0)

只需忘记ByVal和ByRef。 在最后一个MsgBox之后添加此字符串:

Item.Save