【发布时间】: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/
【问题讨论】: