仅适用于原始邮件的Outlook规则
我有一个规则,搜索正文消息并查找短语。如果找到该短语,则对消息进行分类。工作正常,除了我需要的规则,只分类原始邮件,而不是任何邮件的答复,该邮件仅适用于原始邮件的Outlook规则,outlook,Outlook,我有一个规则,搜索正文消息并查找短语。如果找到该短语,则对消息进行分类。工作正常,除了我需要的规则,只分类原始邮件,而不是任何邮件的答复,该邮件 这可以通过规则实现吗?不,规则无法识别消息是否为原始/初始消息(对话中的第一条消息) 但我建议改用VBA宏。您可以处理应用程序类的事件,该事件在新邮件到达收件箱时以及在客户端规则处理发生之前触发。您可以使用entrydcollection数组中返回的条目ID调用该方法并处理该项。请谨慎使用此方法,以尽量减少对Outlook性能的影响。此事件对Micro
这可以通过规则实现吗?不,规则无法识别消息是否为原始/初始消息(对话中的第一条消息) 但我建议改用VBA宏。您可以处理应用程序类的事件,该事件在新邮件到达收件箱时以及在客户端规则处理发生之前触发。您可以使用
entrydcollection
数组中返回的条目ID调用该方法并处理该项。请谨慎使用此方法,以尽量减少对Outlook性能的影响。此事件对Microsoft Outlook处理的每个接收项目激发一次。项目可以是几种不同的项目类型之一,例如,邮件项目
,会议项目
,或共享项目
。entryidscolection
字符串包含与该项对应的条目ID
因此,您可以获取MailItem
对象的一个实例,并使用该方法获取表示该项目所属对话的Conversation
对象
Sub DemoConversationTable()
Dim oConv As Outlook.Conversation
Dim oTable As Outlook.Table
Dim oRow As Outlook.Row
Dim oMail As Outlook.MailItem
Dim oItem As Outlook.MailItem
Const PR_STORE_ENTRYID As String = _
"https://schemas.microsoft.com/mapi/proptag/0x0FFB0102"
On Error Resume Next
' Obtain the current item for the active inspector.
Set oMail = Application.ActiveInspector.CurrentItem
If Not (oMail Is Nothing) Then
' Obtain the Conversation object.
Set oConv = oMail.GetConversation
If Not (oConv Is Nothing) Then
Set oTable = oConv.GetTable
oTable.Columns.Add (PR_STORE_ENTRYID)
Do Until oTable.EndOfTable
Set oRow = oTable.GetNextRow
' Use EntryID and StoreID to open the item.
Set oItem = Application.session.GetItemFromID( _
oRow("EntryID"), _
oRow.BinaryToString(PR_STORE_ENTRYID))
Debug.Print oItem.Subject, _
"Attachments.Count=" & oItem.Attachments.count
Loop
End If
End If
End Sub
该方法返回一个表
对象,该对象包含表示对话中所有项目的行。所以,你可以得到最初的一个