Share via


Método NameSpace.Logon (Outlook)

Faz logon do usuário na MAPI, obtendo uma sessão MAPI.

Sintaxe

expression. Logon( _Profile_ , _Password_ , _ShowDialog_ , _NewSession_ )

Expressão Uma variável que representa um objeto NameSpace .

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
Perfil Opcional Variant O nome do perfil MAPI, como uma cadeia de caracteres, a ser usado para a sessão. Especifique uma sequência vazia para usar o perfil padrão para a sessão atual.
Password Opcional Variant A senha (se houver), como uma cadeia de caracteres, associadas ao perfil. Esse parâmetro existe apenas para compatibilidade com versões anteriores e por motivos de segurança, ele não é recomendado para uso. O Microsoft Outlook solicitará que o usuário especifique uma senha na maioria das configurações do sistema. Esta é a senha de logon e não deve ser confundida com senhas de PST.
Showdialog Opcional Variant True para exibir a caixa de diálogo de logon MAPI para permitir que o usuário selecione um perfil MAPI.
NewSession Opcional Variant True para criar uma nova sessão do Microsoft Outlook. Desde que não não possível criar várias sessões no Outlook, esse parâmetro deve ser especificado como True somente se uma sessão ainda não existir.

Comentários

Use o método Logon somente para fazer logon um perfil específico quando o Outlook não está em execução. Isso ocorre porque apenas um processo do Outlook pode ser executado por vez, e esse processo Outlook usa apenas um perfil e suporta apenas uma sessão MAPI. Quando os usuários iniciarem o Outlook uma segunda vez, essa instância do Outlook é executado dentro do mesmo processo do Outlook, não cria um novo processo e usa o mesmo perfil.

Se o Outlook estiver sendo executado, o uso desse método não criar uma nova sessão do Outlook ou alterar o perfil atual para um diferente.

Se o Outlook não estiver em execução e você só quiser iniciar o Outlook com o perfil padrão, não use o método Logon . Uma alternativa melhor é mostrada no seguinte exemplo de código, InitializeMAPI: primeiro, criar uma instância do objeto Application do Outlook, em seguida, fazer referência a uma pasta padrão como a caixa de entrada. Isso tem o efeito do lado do Inicializando MAPI para usar o perfil padrão e para tornar o modelo de objeto 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

Iniciando no Outlook 2010, se você tiver vários perfis, você configurou o Outlook para sempre usar um perfil padrão e você usar o método Logon fazer logon para o perfil padrão sem avisar o usuário, o usuário receberá uma solicitação para escolher um perfil de qualquer maneira. Para evitar esse comportamento, não use o método Logon ; use a solução alternativa sugerida no exemplo anterior InitializeMAPI .

Exemplo

Este exemplo Visual Basic for Applications usa o método de Logon para fazer logon uma nova sessão, exibindo a caixa de diálogo para verificar o nome do perfil e inserir a senha.

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

Confira também

Objeto NameSpace

Como: obter e fazer logon em uma instância do Outlook

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.