Outlook 即时搜索 - 命中和未命中结果
Outlook Instant Search - hit and miss results
我有以下代码 运行 从我开发的工具进行即时搜索,该工具遍历所有 Outlook 文件夹,然后使用 restrict 方法获取两个计数,第一个是总数,第二个,两年或两年以上的物品的数量。
完成后,这将在列表视图中显示给用户,下面的代码应该使用 'received' 日期对所选结果进行即时搜索查询以限制结果。
我发现,有时即时结果会过滤结果,而在其他情况下,它会纯粹显示所选文件夹中的所有项目。例如,一个文件夹有90个项目,但有5个超过2年,有时它会显示5(一般是从列表视图中选择两次后),其余时间显示完整的90。
有没有其他人遇到过这个问题并设法解决了它?
Private Sub OpenOlFolder(sender As Object, e As EventArgs) Handles lvwProgress.DoubleClick
With olApp.ActiveExplorer
'// CLEAR SEARCH
.ClearSearch()
'// SWITCH TO SELECTED FOLDER
.CurrentFolder = GetOlFolderFromPath(Me.lvwProgress.Items(Me.lvwProgress.FocusedItem.Index).SubItems(0).Text)
'// DO SEARCH
.Search(String.Concat("received:<", RetentionDate.ToString("MM/dd/yyyy")), Outlook.OlSearchScope.olSearchScopeCurrentFolder)
End With
End Sub
在您的代码中,我注意到单行代码中有多个点。如果发生意外情况,很难理解您的代码在哪里失败。因此,打破 属性 和方法调用的链条对于解决此类问题至关重要。
在代码中,您通过设置 Explorer
class 的 CurrentFolder
属性 来更改当前文件夹。这是一个耗时的操作,所以等到它完成才有意义。例如,您可以尝试 运行 Explorer.FolderSwitch 事件中的 Search
方法,该方法在资源管理器转到新文件夹时触发,无论是由于用户操作还是通过程序代码。
手动执行相同操作以确保过滤器正确也是有意义的。
我有以下代码 运行 从我开发的工具进行即时搜索,该工具遍历所有 Outlook 文件夹,然后使用 restrict 方法获取两个计数,第一个是总数,第二个,两年或两年以上的物品的数量。
完成后,这将在列表视图中显示给用户,下面的代码应该使用 'received' 日期对所选结果进行即时搜索查询以限制结果。
我发现,有时即时结果会过滤结果,而在其他情况下,它会纯粹显示所选文件夹中的所有项目。例如,一个文件夹有90个项目,但有5个超过2年,有时它会显示5(一般是从列表视图中选择两次后),其余时间显示完整的90。
有没有其他人遇到过这个问题并设法解决了它?
Private Sub OpenOlFolder(sender As Object, e As EventArgs) Handles lvwProgress.DoubleClick
With olApp.ActiveExplorer
'// CLEAR SEARCH
.ClearSearch()
'// SWITCH TO SELECTED FOLDER
.CurrentFolder = GetOlFolderFromPath(Me.lvwProgress.Items(Me.lvwProgress.FocusedItem.Index).SubItems(0).Text)
'// DO SEARCH
.Search(String.Concat("received:<", RetentionDate.ToString("MM/dd/yyyy")), Outlook.OlSearchScope.olSearchScopeCurrentFolder)
End With
End Sub
在您的代码中,我注意到单行代码中有多个点。如果发生意外情况,很难理解您的代码在哪里失败。因此,打破 属性 和方法调用的链条对于解决此类问题至关重要。
在代码中,您通过设置 Explorer
class 的 CurrentFolder
属性 来更改当前文件夹。这是一个耗时的操作,所以等到它完成才有意义。例如,您可以尝试 运行 Explorer.FolderSwitch 事件中的 Search
方法,该方法在资源管理器转到新文件夹时触发,无论是由于用户操作还是通过程序代码。
手动执行相同操作以确保过滤器正确也是有意义的。