【问题标题】:Tracking Replies to Outlook Emails跟踪对 Outlook 电子邮件的回复
【发布时间】:2021-07-23 09:12:27
【问题描述】:

我正在尝试在 Excel 上创建一个列表,以跟踪我选择的已发送 Outlook 电子邮件(移动到特定子文件夹“测试”)中的哪些已得到回复。对于尚未回复的电子邮件,我想在几天后发送一封提醒电子邮件。是否可以创建一个 Outlook VBA 宏来执行此操作?

目前,我的 VBA 代码只能在跟踪文件中提取选定的电子邮件详细信息。

我知道要跟踪对话,应该使用 PR_CONVERSATION_INDEX,但不知道如何将其合并到下面的代码中。

Sub List_Email_Info()

    Dim xlApp As Excel.Application

    Dim xlWB As Excel.Workbook

    Dim i As Long ' Row tracker

    Dim arrHeader As Variant

   

 

    Dim olNS As NameSpace

    Dim olSentFolder As MAPIFolder

    Dim olItems As Items

    Dim olMailItem As MailItem

    Dim olRecipients As Outlook.Recipients

 

   

 

    arrHeader = Array("Date Created", "Subject", "Recipient's Name")

   

 

    Set xlApp = CreateObject("Excel.Application")

    xlApp.Visible = True

    Set xlWB = xlApp.Workbooks.Add

   

 

    Set olNS = GetNamespace("MAPI")

    Set olSentFolder = olNS.GetDefaultFolder(olFolderSentMail).Folders("test")

    Set olItems = olSentFolder.Items

   

 

    i = 1

   

 

    On Error Resume Next

   

 

    xlWB.Worksheets(1).Range("A1").Resize(1, UBound(arrHeader) + 1).Value = arrHeader

   

 

    For Each olMailItem In olItems

       

        xlWB.Worksheets(1).Cells(i + 1, "A").Value = olItems(i).CreationTime

        xlWB.Worksheets(1).Cells(i + 1, "B").Value = olItems(i).Subject

        xlWB.Worksheets(1).Cells(i + 1, "C").Value = olItems(i).To

       

        i = i + 1

       

    Next olMailItem

   

 

    xlWB.Worksheets(1).Cells.EntireColumn.AutoFit

   

 

    MsgBox "Export complete.", vbInformation

   

 

    Set xlWB = Nothing

    Set xlApp = Nothing

   

 

    Set olItems = Nothing

    Set olSentFolder = Nothing

不胜感激!

================================================ ============================ 当前代码改编自:https://learndataanalysis.org/pull-outlook-emails-detail-into-excel-using-vba/

【问题讨论】:

    标签: excel vba outlook


    【解决方案1】:

    由于这不是提供准备运行代码的编程服务,我建议您这样做: 收到并移动电子邮件后,您可以在 VBA 中设置日历约会,如果没有收到回复,何时发送提醒。 https://docs.microsoft.com/en-us/office/vba/outlook/how-to/items-folders-and-stores/create-an-appointment-as-a-meeting-on-the-calendar

    您还在 VBA 中为它设置了一个触发器,并让操作是重新发送电子邮件: Use calendar appointment in outlook to trigger VBA macro

    如果收到回复,您将删除该特定日历时间: https://docs.microsoft.com/en-us/office/vba/api/outlook.appointmentitem.delete

    否则日历触发器将发送电子邮件提醒。

    这样做会使用 Outlook 中的内置资源,因此您不必自己编写它们。

    【讨论】:

      猜你喜欢
      • 2020-09-03
      • 2022-10-14
      • 1970-01-01
      • 1970-01-01
      • 2011-06-02
      • 2011-04-03
      • 1970-01-01
      • 2011-06-30
      • 1970-01-01
      相关资源
      最近更新 更多