【问题标题】:How to reference the original mail of a reply?如何引用回复的原始邮件?
【发布时间】:2020-12-14 07:45:11
【问题描述】:

我有代码,当我回复邮件时会询问应将回复保存到哪个文件夹。

我需要扩展它以将我回复的邮件(父邮件)移动到我为回复邮件选择的文件夹中。

如果我可以使用会话 ID 制作父邮件的对象,我觉得可以做到这一点?

Public Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)

    Dim myFolder As MAPIFolder
    Dim myOlApp As Outlook.Application
    Dim myOlExp As Outlook.Explorer

    If Environ("MailSave") = True Then
        If TypeName(Item) = "MailItem" Then
            Set myOlApp = CreateObject("Outlook.Application")
            Set olNS = myOlApp.GetNamespace("MAPI")
            Set myFolder = olNS.PickFolder
            
            'todo
            If Not (myFolder Is Nothing) Then
                Set Item.SaveSentMessageFolder = myFolder
                'Item.Parent.Move myFolder ---I tried this. But it is wrong I know
                ' MsgBox ("All moved")
            
            End If
        End If
    End If
End Sub

【问题讨论】:

    标签: vba outlook


    【解决方案1】:

    您可能会查看“In-Reply-To”标头(由 PR_IN_REPLY_TO_ID MAPI 属性公开),但这些值是在 ItemSend 事件触发后写入的。

    我建议处理MailItem.Reply 事件,该事件在用户选择项目的回复操作或为项目调用回复方法时触发。此外,您可能对MailItem.Forward 事件感兴趣,该事件在用户为某个项目选择 Forward 操作或为该项目调用 Forward 方法时触发。

    Public WithEvents myItem As MailItem  
    
    Sub Initialize_Handler()  
      Set myItem = Application.ActiveInspector.CurrentItem  
    End Sub 
    
    Private Sub myItem_Reply(ByVal Response As Object, Cancel As Boolean)  
      Set Response.SaveSentMessageFolder = myItem.Parent  
    End Sub
    

    因此,按照这种方式,您将能够访问原始项目并设置SaveSentMessageFolder 属性。

    【讨论】:

    • 不,我对它的邮件转发应用不感兴趣。 PR_IN_REPLY_TO_ID 似乎是一个不错的选择,因为设置回复文件夹的现有附加功能包含在 ItemSend 事件中。我导航到您提供的链接,但我无法理解如何使用它。您能否提供一些链接,我可以从中了解如何实现此 PR_IN_REPLY_TO?
    • 使用 MailItem.PropertyAccessor.GetProperty() 读取 PR_IN_REPLY_TO_ID 属性(DASL 名称 schemas.microsoft.com/mapi/proptag/0x1042001F)。要访问消息的所有 MIME 标头,请阅读 PR_TRANSPORT_MESSAGE_HEADERS 属性(DASL 名称 schemas.microsoft.com/mapi/proptag/0x007D001F)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-12
    • 2012-04-15
    • 1970-01-01
    • 2015-10-06
    • 2016-09-09
    相关资源
    最近更新 更多