我想搜索我发送给“ zeev”的所有邮件。
但我不希望包括我送到“兹夫”和“约翰”的邮件
例如:
因此,我想查找仅发送给“ zeev”的电子邮件。
我必须添加的短语搜索词是什么?
我想搜索我发送给“ zeev”的所有邮件。
但我不希望包括我送到“兹夫”和“约翰”的邮件
例如:
因此,我想查找仅发送给“ zeev”的电子邮件。
我必须添加的短语搜索词是什么?
Answers:
我认为无法使用Outlook的“高级查找”定义搜索条件,但是,完成搜索的另一种方法是创建自定义视图。
下文描述的自定义视图使用的本质与我在通过宏创建搜索文件夹的其他答案中使用的SQL DASL查询相同。我相信自定义视图将使您更容易实现。
创建视图:
"urn:schemas:httpmail:displayto" LIKE 'Zeev%' AND NOT "urn:schemas:httpmail:displayto" LIKE '%;%' AND "urn:schemas:httpmail:displaycc" =''
"urn:schemas:httpmail:displayto" LIKE '%'
"urn:schemas:httpmail:fromname" LIKE '%SenderName%' AND "urn:schemas:httpmail:displayto" LIKE '%MyName%' AND NOT "urn:schemas:httpmail:displayto" LIKE '%;%' AND "urn:schemas:httpmail:displaycc" =''
一次运行以下宏将创建一个搜索文件夹,该文件夹永久显示“已发送邮件”文件夹中仅发送给单个指定收件人的邮件。
在Outlook中,使用Alt+ 打开VBA编辑器,F11然后将代码粘贴到编辑器中。选择仅发送给好友Zeev的消息,然后运行宏。您可能需要将宏安全性设置为低才能运行宏。
Sub CreateSearchFolderForOneRecipient()
On Error GoTo Err_CreateSearchFolderForOneRecipient
' Get the email address from a selected message
Dim oMail As Outlook.MailItem
Set oMail = ActiveExplorer.Selection.Item(1)
strSearchFolderName = "Msgs sent only to " & oMail.To
If oMail.To = "" Then
Exit Sub
ElseIf InStr(1, oMail.To, ";") > 0 Then
Err.Raise Number:=vbObjectError + 1000, _
Description:="Selected message must have only 1 recipient in To: field"
End If
Dim strDASLFilter As String
' The trick to identifying messages sent to multiple recipients is the semi-colon ; delimiter.
' Semicolon can be searched using SQL DASL syntax but not in the Advanced Search form GUI
' Description of filter
' Line 1: Messages sent to specified recipient
' Line 2: 'To' field cannot contain semicolon
' LIne 3: 'CC' field must be empty
strDASLFilter = Chr(34) & "urn:schemas:httpmail:displayto" & Chr(34) & " = '" & oMail.To & "'" _
& " AND NOT " & Chr(34) & "urn:schemas:httpmail:displayto" & Chr(34) & " LIKE '%;%'" _
& " AND " & Chr(34) & "urn:schemas:httpmail:displaycc" & Chr(34) & " = ''"
Dim strScope As String
strScope = "'Sent Items'"
Dim objSearch As Search
Set objSearch = Application.AdvancedSearch(Scope:=strScope, Filter:=strDASLFilter, _
SearchSubFolders:=True, Tag:="SearchFolder")
' Save the search results to a searchfolder
objSearch.Save (strSearchFolderName)
Set objSearch = Nothing
Exit Sub
Err_CreateSearchFolderForOneRecipient:
MsgBox "Error # " & Err.Number & " : " & Error(Err)
End Sub
宏是如何使用VBA创建Outlook搜索文件夹中代码的修改后的版本
只需按照以下说明完成您的工作...
1.打开Outlook2010。2.
单击左侧面板上的“已发送邮件”。
3.单击中间面板中的“搜索”框。结果:您将看到功能区工具栏更改为“搜索”。
4.单击“更多”(绿色的+图标)。
5.从列表中选择“收件人”。
6.在“收件人”字段中输入邮件ID,以搜索您已发送给特定人员的邮件。
由于声誉得分危机,我无法添加图片。抱歉!
"urn:schemas:httpmail:displayto" LIKE '%;%'
。