AdvancedSearch Method in Exchange Server environment

H

Howard

Hello,

I'm trying to search messages in a series of shared inboxes based on various
criteria (for example, all messages whose subject contains the word "access").

I've defined my MAPI namespace and the specific folders/inboxes to search,
yet the only folder the AdvancedSearch method seems to look in is my personal
inbox, not the shared inboxes I'm specifying in the AdvancedSearch parameters.

Does this ring a bell with anyone?

Thanks,
Howard
 
H

Howard

Understood. But how can I get it to search a mail store other than my own?
I've tried doing an Application.logon to a profile associated with one of the
shared inboxes I'm trying to search but the AdvancedSearch seems to go into
an endless loop.
 
H

Howard

Okay, I've figured out how to get the AdvancedSearch function to work.
However, the Application_AdvancedSearchComplete event isn't firing, so the
search results aren't getting passed back to the calling subroutine. Can
anyone hazard a guess as to what I'm doing wrong?
 
K

Ken Slovak - [MVP - Outlook]

It works here.

Search code:

Sub SalesSearch()
Dim objSch As Search
Dim strF As String
Dim strS As String
Dim strTag As String

strF = Chr(34) & "urn:schemas:httpmail:subject" & Chr(34) & " LIKE
'%Order%'"

strS = "'//Mailbox - Sales'" 'search Sales mailbox and all subfolders

strTag = "DomainSearch"

Set objSch = Application.AdvancedSearch(Scope:=strS, Filter:=strF, _
SearchSubFolders:=True, Tag:=strTag)

Set objSch = Nothing
End Sub

Event handler:

Public Sub Application_AdvancedSearchComplete(ByVal SearchObject As Search)
Dim rsts As Outlook.Results

If (SearchObject.Tag = "DomainSearch") Then
Set rsts = SearchObject.Results
MsgBox "Search returned " & rsts.Count & " items"
End If

Set rsts = Nothing
End Sub

This was run in Outlook VBA. The event handler was placed in the
ThisOutlookSession class module, the search code was run from a code module.
It takes a bit of time for the search to complete, depending on subfolders
count and number of items, but it worked.
 
H

Howard

Ken,

That did the trick - my AdvancedSearchComplete event is firing accurately
and my Results object contains the correct data - thank you!

Here's what I was doing wrong: even though I was declaring my results object
publicly, I was setting its value in the class module that was calling the
AdvancedSearch method, rather than calling it from within the
AdvancedSearchComplete event code. Once I moved the line of code into that
module, I got the results I was expecting!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top