Метод NameSpace.Logon (Outlook)
Выполняет вход пользователя в MAPI, получая сеанс MAPI.
Синтаксис
выражение. Logon
( _Profile_
, _Password_
, _ShowDialog_
, _NewSession_
)
Выражение Переменная, представляющая объект NameSpace .
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
Профиль | Необязательный | Variant | Имя профиля MAPI в виде строки, используемое для сеанса. Укажите пустую строку, чтобы использовать профиль по умолчанию для текущего сеанса. |
Password | Необязательный | Variant | Пароль (при наличии) в виде строки, связанной с профилем. Этот параметр существует только для обратной совместимости и по соображениям безопасности не рекомендуется использовать. Microsoft Outlook предложит пользователю указать пароль в большинстве системных конфигураций. Это пароль для входа, который не следует путать с паролями PST. |
Showdialog | Необязательный | Variant | Значение true , чтобы отобразить диалоговое окно входа в MAPI, чтобы разрешить пользователю выбрать профиль MAPI. |
NewSession | Необязательный | Variant | Значение True для создания нового сеанса Microsoft Outlook. Так как в Outlook невозможно создать несколько сеансов, этот параметр следует указать как True только в том случае, если сеанс еще не существует. |
Замечания
Используйте метод Logon только для входа в определенный профиль, если Outlook еще не запущен. Это связано с тем, что одновременно может выполняться только один процесс Outlook, и этот процесс Outlook использует только один профиль и поддерживает только один сеанс MAPI. Когда пользователи запускают Outlook во второй раз, этот экземпляр Outlook запускается в том же процессе Outlook, не создает новый процесс и использует тот же профиль.
Если Outlook уже запущен, этот метод не создает новый сеанс Outlook или не изменяет текущий профиль на другой.
Если Outlook не запущен и вы хотите запустить Outlook только с профилем по умолчанию, не используйте метод Logon . Более лучшая альтернатива показана в следующем примере InitializeMAPI
кода: сначала создайте экземпляр объекта Приложения Outlook, а затем составьте ссылку на папку по умолчанию, например папку "Входящие". Это имеет побочный эффект инициализации MAPI для использования профиля по умолчанию и для полной функциональности объектной модели.
Sub InitializeMAPI ()
' Start Outlook.
Dim olApp As Outlook.Application
Set olApp = CreateObject("Outlook.Application")
' Get a session object.
Dim olNs As Outlook.NameSpace
Set olNs = olApp.GetNamespace("MAPI")
' Create an instance of the Inbox folder.
' If Outlook is not already running, this has the side
' effect of initializing MAPI.
Dim mailFolder As Outlook.Folder
Set mailFolder = olNs.GetDefaultFolder(olFolderInbox)
' Continue to use the object model to automate Outlook.
End Sub
Начиная с Outlook 2010, если у вас несколько профилей, вы настроили Outlook всегда использовать профиль по умолчанию, и вы используете метод Входа для входа в профиль по умолчанию, не запрашивая пользователя, пользователь в любом случае получит запрос на выбор профиля. Чтобы избежать такого поведения, не используйте метод Logon . вместо этого используйте обходной путь, предложенный в предыдущем InitializeMAPI
примере.
Пример
В этом Visual Basic для приложений примере используется метод Logon для входа в новый сеанс, в котором отображается диалоговое окно для проверки имени профиля и ввода пароля.
Sub StartOutlook()
Dim myNameSpace As Outlook.NameSpace
Set myNameSpace = Application.GetNamespace("MAPI")
myNameSpace.Logon "LatestProfile", , True, True
End Sub
См. также
How to: Obtain and Log On to an Instance of Outlook
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.