我正在使用Outlook参考库为我的VBA代码从Excel中的电子表格发送大量电子邮件。
当我发送电子邮件时,我需要将会话ID号保存到表格中的单元格。如何将此属性从电子邮件返回到Excel?
答案 0 :(得分:0)
发送电子邮件后,搜索已发送文件夹,然后获取会话ID。
此处按主题If olItem.Subject = "0m3r" Then
搜索的示例打印ConvID到单元格A1
Option Explicit
Sub ConvID()
Dim olNameSpace As Outlook.Namespace
Dim olApp As Outlook.Application
Dim olSentMail As Outlook.MAPIFolder
Dim olItem As Object ' Mail Item
Dim ConvID As Object ' ConversationID
Set olApp = CreateObject("Outlook.Application")
Set olNameSpace = olApp.GetNamespace("MAPI")
Set olSentMail = olNameSpace.GetDefaultFolder(olFolderSentMail)
Set olItem = olApp.CreateItem(olMailItem)
For Each ConvID In olSentMail.Items
If olItem.Class = olMail Then ' ignores MeetingItem or ReportItem
If TypeName(ConvID) = "MailItem" Then
Set olItem = ConvID
If olItem.Subject = "0m3r" Then
Debug.Print olItem.ConversationID
Range("A1").Value = olItem.ConversationID
End If
End If
End If
Next
End Sub