我想要搜索我发送给“zeev”的所有邮件。
但是我不想要包含我发送给“zeev”和“john”的邮件
例如:
所以,我想找到我发送的电子邮件仅有的到“zeev”。
我必须添加的短语搜索词是什么?
答案1
我认为无法使用 Outlook 的“高级查找”来定义搜索条件,但是,完成搜索的另一种方法是创建自定义视图。
下面描述的自定义视图使用与我在我的其他答案通过宏创建搜索文件夹。我相信自定义视图对您来说会更容易实现。
要创建视图:
- 在“视图”选项卡上的“当前视图”组中,单击“更改视图”,然后单击“管理视图”。
- 单击新建。
- 在新视图名称框中,键入视图的名称。
- 在视图类型框中,选择“表格”。
- 要更改视图的可用位置,请选择“可用于”下的选项,然后单击“确定”。
- 在高级视图设置:新视图对话框中,单击过滤器。
- 选择 SQL 选项卡并勾选“直接编辑这些条件”复选框。
- 将以下 DASL 查询粘贴到文本框中:
"urn:schemas:httpmail:displayto" LIKE 'Zeev%' AND NOT "urn:schemas:httpmail:displayto" LIKE '%;%' AND "urn:schemas:httpmail:displaycc" =''
- 完成后,单击“确定”。
- 要立即使用该视图,请单击“应用视图”。
- 要返回标准视图,请在“视图”选项卡上的“当前视图”组中,单击“更改视图”,然后单击“消息”。
答案2
以下宏运行一次将创建一个搜索文件夹,该文件夹持续显示来自“已发送邮件”文件夹的仅发送给单个指定收件人的消息。
Alt在 Outlook 中使用+打开 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 搜索文件夹
答案3
您必须使用“高级查找”选项 (CTRL+SHIFT+F) 来发送'zeev'
然后您需要进入右侧的高级选项卡,在那里您需要定义另一个标准:
该领域将是To
护发素将Doesn't Contain
该值将是'john'
请注意名称周围的引号,因为它会产生差异。
现在,当你点击搜索时,你将看到所有电子邮件仅发送至Zeev
答案4
from:"Your Name" to:"Zeev" AND NOT to:"john"
以下链接是即时搜索词和运算符的参考: