Событие NameSpace.AutoDiscoverComplete (Outlook)
Происходит после того, как Microsoft Outlook завершил доступ к службе автоматического обнаружения сервера Microsoft Exchange, на котором размещена основная учетная запись Exchange, и имеется соответствующая информация, доступная в NameSpace.AutoDiscoverXml.
Синтаксис
выражение. AutoDiscoverComplete
Выражение Переменная, представляющая объект NameSpace.
Замечания
Это событие похоже на событие AutoDiscoverComplete объекта Accounts . Если в текущем профиле определено несколько учетных записей Exchange, используйте событие AutoDiscoverComplete объекта Accounts , указывающего конкретную учетную запись.
Пример
NameSpace.AutoDiscoverXml — это XML-строка, возвращаемая службой автоматического обнаружения сервера Exchange Server. В следующем примере кода показано, когда эта XML-строка доступна во время обычного сеанса Outlook:
При возникновении события Application.Startup , если NameSpace.AutoDiscoverConnectionMode не равно olAutoDiscoverConnectionUnknown
При возникновении события AutoDiscoverComplete , если autoDiscoverConnectionMode не равно olAutoDiscoverConnectionUnknown
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
DoAutoDiscoverBasedWork
End If
End Sub
Private Sub Session_AutoDiscoverComplete()
LastAutoDiscoverXml = Session.AutoDiscoverXml
LastAutoDiscoverConnectionMode = Session.AutoDiscoverConnectionMode
If LastAutoDiscoverConnectionMode <> olAutoDiscoverConnectionUnknown Then
DoAutoDiscoverBasedWork
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
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.