1

我知道如何使用该Outlook.AdvancedSearch()方法进行搜索。我想要的是基于我的搜索参数来使用 VBA 代码填充高级查找对话框中的构建,如下所示。

我想要的是在搜索结束时让最终用户有选择地从结果中选择和移动。

高级查找对话框

编辑 如果这是不可能的(如我的搜索所示),那么如何将结果保存到搜索文件夹中?当我使用该Search.Save()方法并且该文件夹已经存在时,我会收到错误消息。至少我希望在搜索完成后激活搜索文件夹。

错误信息

4

1 回答 1

1

您可以使用以下代码解析命名空间中的文件夹ns

ns.Folders("Personal Folders").Folders("Inbox")

在此线程中找到:访问 Outlook 默认文件夹

因此,您可以在创建搜索文件夹之前检查它是否已经存在。

您还可以防止错误或对其进行处理,例如:

On Error Resume Next
'Create folder (won't raise error if already exists)
On Error GoTo 0

最终,要激活搜索文件夹,您可以使用以下CurrentFolder属性:

Sub ChangeCurrentFolder()
    Dim myolApp As Outlook.Application
    Dim myNamespace As Outlook.NameSpace
    Set myolApp = CreateObject("Outlook.Application")
    Set myNamespace = myolApp.GetNamespace("MAPI")
    Set myolApp.ActiveExplorer.CurrentFolder = _
    myNamespace.GetDefaultFolder(olFolderCalendar)
End Sub

有关详细信息,请参阅MSDN

于 2011-08-31T09:30:39.037 回答