Método NameSpace.Logon (Outlook)

Inicia una sesión de usuario en MAPI, por lo que obtiene una sesión MAPI.

Sintaxis

expresión. Logon( _Profile_ , _Password_ , _ShowDialog_ , _NewSession_ )

Expresión Variable que representa un objeto NameSpace .

Parameters

Nombre Obligatorio/opcional Tipo de datos Descripción
Profile Opcional Variant Nombre del perfil MAPI, como una cadena, que se utiliza para la sesión. Especifique una cadena vacía para usar el perfil predeterminado para la sesión actual.
Password Opcional Variant La contraseña (si hay alguno), como una cadena, asociados con el perfil. Este parámetro existe sólo para compatibilidad con versiones anteriores y por motivos de seguridad, no se recomienda para su uso. Microsoft Outlook pedirá al usuario que especifique una contraseña en la mayoría de las configuraciones del sistema. Esta es la contraseña de inicio de sesión y no se debe confundir con las contraseñas PST.
ShowDialog Opcional Variant True para mostrar el cuadro de diálogo de inicio de sesión MAPI para permitir que el usuario seleccione un perfil MAPI.
NewSession Opcional Variant True para crear una nueva sesión de Microsoft Outlook. Dado que no se pueden crear varias sesiones en Outlook, este parámetro debe especificarse como True sólo si no existe ya una sesión.

Comentarios

Utilice el método Logon solo para iniciar sesión en un perfil específico cuando Outlook no se está ejecutando. Esto es debido a que sólo un proceso de Outlook puede ejecutar a la vez, y ese proceso de Outlook usa un solo perfil y admite sólo una sesión MAPI. Cuando los usuarios inicien Outlook una segunda vez, esa instancia de Outlook se ejecuta dentro del mismo proceso de Outlook, no se crea un nuevo proceso y utiliza el mismo perfil.

Si ya se está ejecutando Outlook, usar este método crea una nueva sesión de Outlook no o cambiar el perfil actual a otro.

Si Outlook no se está ejecutando y solo desea iniciar Outlook con el perfil predeterminado, no use el método Logon . Una alternativa mejor se muestra en el siguiente ejemplo de código, InitializeMAPI: en primer lugar, cree una instancia del objeto Application de Outlook, a continuación, hacer referencia a una carpeta predeterminada como la Bandeja de entrada. Esto tiene el efecto de lado de inicialización de MAPI para usar el perfil predeterminado y hacer que el modelo de objetos totalmente funcional.

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

A partir de Outlook 2010, si tiene varios perfiles, ha configurado Outlook para que use siempre un perfil predeterminado y utilizar el método Logon para iniciar sesión en el perfil predeterminado sin preguntar al usuario, el usuario recibirá un símbolo del sistema para elegir un perfil de todos modos. Para evitar este comportamiento, no use el método Logon ; use la solución alternativa sugerida en el ejemplo anterior InitializeMAPI en su lugar.

Ejemplo:

En este ejemplo de Visual Basic para aplicaciones se utiliza el método Logon para iniciar una nueva sesión, muestra el cuadro de diálogo para comprobar el nombre del perfil y la contraseña.

Sub StartOutlook() 
    Dim myNameSpace As Outlook.NameSpace 
  
    Set myNameSpace = Application.GetNamespace("MAPI") 
    myNameSpace.Logon "LatestProfile", , True, True 
End Sub

Consulte también

Objeto NameSpace

Cómo: obtener e iniciar sesión en una instancia de Outlook

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.