This documentation is archived and is not being maintained.

NameSpace.AutoDiscoverXml Property

Office 2007
Returns a String that represents information in XML retrieved from the auto-discovery service of an Exchange server. Read-only.

Version Information
 Version Added:  Outlook 2007



expression   A variable that represents a NameSpace object.


The returned string of XML contains information about various Web services (for example, availability service and unified messaging service) and available servers.

An error is returned if the active profile does not contain an account for Microsoft Exchange Server 2007 or later.


NameSpace.AutoDiscoverXml is an XML string that is returned from the auto-discovery service of the Exchange server. The following code sample shows when this XML string is available during a normal Outlook session:

  1. When the Application.Startup event occurs, if NameSpace.AutoDiscoverConnectionMode is not equal to olAutoDiscoverConnectionUnknown
  2. When the NameSpace.AutoDiscoverComplete event occurs, if AutoDiscoverConnectionMode is not equal to olAutoDiscoverConnectionUnknown
Visual Basic for Applications
Dim WithEvents Session As NameSpace
Dim LastAutoDiscoverXml As String
Dim LastAutoDiscoverConnectionMode As OlAutoDiscoverConnectionMode

Private Sub Application_Startup()
    Set Session = Application.Session  
    If (Session.AutoDiscoverConnectionMode <> olAutoDiscoverConnectionUnknown) Then
        LastAutoDiscoverXml = Session.AutoDiscoverXml
        LastAutoDiscoverConnectionMode = Session.AutoDiscoverConnectionMode
    End If
End Sub

Private Sub Session_AutoDiscoverComplete()
    LastAutoDiscoverXml = Session.AutoDiscoverXml
    LastAutoDiscoverConnectionMode = Session.AutoDiscoverConnectionMode
    If LastAutoDiscoverConnectionMode <> olAutoDiscoverConnectionUnknown Then
    End If
End Sub
Private Sub DoAutoDiscoverBasedWork()
    ' Do activity requires auto discover information
    Dim displayName As String
    Dim posStartTag, posEndTag As Integer
    posStartTag = InStr(1, LastAutoDiscoverXml, "<DisplayName>")
    posEndTag = InStr(1, LastAutoDiscoverXml, "</DisplayName>")
    If (posStartTag > 1 And posEndTag > 1) Then
        displayName = Mid(LastAutoDiscoverXml, posStartTag + 13, posEndTag - posStartTag - 13)
        Debug.Print "DisplayName = " & displayName
    End If
End Sub