在调用 AdvancedSearch 方法时,使用 SearchScope 参数来指定搜索的范围。将它设置为 olSearchScopeAllFolders,可以搜索整个文件夹层次结构,包括子文件夹。以下是示例代码:
Sub SearchFolders()
Dim objApp As Outlook.Application
Dim objNS As Outlook.NameSpace
Dim objFolder As Outlook.MAPIFolder
Dim strSearch As String
Dim objResults As Outlook.Results
' Set up Outlook objects
Set objApp = CreateObject("Outlook.Application")
Set objNS = objApp.GetNamespace("MAPI")
Set objFolder = objNS.GetDefaultFolder(olFolderInbox)
' Set up search
strSearch = "test"
Set objResults = objFolder.AdvancedSearch(strSearch, "urn:schemas:mailheader:subject", olSearchScopeAllFolders)
' Display results
If objResults.Count > 0 Then
For i = 1 To objResults.Count
MsgBox objResults.Item(i).Subject
Next i
Else
MsgBox "No results found"
End If
' Clean up
Set objResults = Nothing
Set objFolder = Nothing
Set objNS = Nothing
Set objApp = Nothing
End Sub