SearchScope Object

Microsoft Office Visual Basic

SearchScope Object

FileSearch SearchScopes
SearchScope
ScopeFolder

Corresponds to a type of folder tree that can be searched by using the FileSearch object. For example, the local drives on this computer represent a single search scope. Network folders and Microsoft Outlook folders are also separate search scopes that may be available. Each SearchScope object contains a single ScopeFolder object that corresponds to the root folder of the search scope.

Using the SearchScope object

Use the Item method of the SearchScopes collection to return a SearchScope object; for example:

Dim ss As SearchScope
Set ss = Application.FileSearch.SearchScopes.Item(1)
		

Ultimately, the SearchScope object is intended to provide access to ScopeFolder objects that can be added to the SearchFolders collection. For an example that demonstrates how this is accomplished, see the SearchFolders collection topic.

See the ScopeFolder object topic to see a simple example of how to return a ScopeFolder object from a SearchScope object.

The following example displays all of the currently available SearchScope objects.

Sub DisplayAvailableScopes()

    'Declare a variable that references a
    'SearchScope object.
    Dim ss As SearchScope

    'Use a With...End With block to reference the
    'FileSearch object.
    With Application.FileSearch

        'Loop through the SearchScopes collection.
        For Each ss In .SearchScopes
            Select Case ss.Type
                Case msoSearchInMyComputer
                    MsgBox "My Computer is an available search scope."
                Case msoSearchInMyNetworkPlaces
                    MsgBox "My Network Places is an available search scope."
                Case msoSearchInOutlook
                    MsgBox "Outlook is an available search scope."
                Case msoSearchInCustom
                    MsgBox "A custom search scope is available."
                Case Else
                    MsgBox "Can't determine search scope."
            End Select
        Next ss
    End With
End Sub