Outlook Object Model 2010: Programmatically check whether the search is synchronous or not?
In Outlook 2010, you have a way to check whether the search is synchronous or asynchronous or not. Just created a small code snippet (below) for the reference – you can notice that I just call the application.IsSearchSynchronous() and pass the look in folder which want to try. The path name of the folders that the search will search through. Code snippet:
1: Sub TestSearch() 2: 3: Dim fpath As String 4: Dim oStre As Outlook.Store 5: 6: For Each oStre In Outlook.Session.Stores 7: fpath = "'" & oStre.GetRootFolder.folderPath & "'" 8: Debug.Print fpath & " IsSearchSynchronous = " & Application.IsSearchSynchronous(fpath) 9: Next 10: 11: End Sub
+ You must enclose the folder path (fpath) with single quotes – refer the above example
+ If the search is synchronous, the AdvancedSearch method will not return until the search has completed. + On the contrary, if the search is asynchronous, the AdvancedSearch method will immediately return. + In order to get meaningful results from an asynchronous search, use the AdvancedSearchComplete event to notify you when the search has finished.