Tag Archives: Microsoft Outlook

VBA – Abrindo o Microsoft Outlook

Resolvendo uma dúvida no fórum recentemente, fui questionado de como abrir o Microsoft Outlook pelo VBA. A dúvida inicial era o envio de email, cujo exemplo abaixo pode ser visto:

http://www.tomasvasquez.com.br/downloads/e-mail_VBA_Outlook.xls

O problema é que este código segue a mesma lógica da criação de um email quando se clica em um link em uma página de internet, quando é aberto um novo email do Outlook e ao clicar em enviar, ele vai para a caixa de saída, sendo enviado somente quando o Outlook é aberto normalmente.

Pois bem, para forçar a abertura do Microsoft Outlook, o código abaixo é necessário:

Sub AbreOutlook()
    Dim Olook As Outlook.Application
    Set Olook = CreateObject("Outlook.Application")
 
    Dim ns As Outlook.Namespace
    Dim Folder As Outlook.MAPIFolder
 
    Set ns = Olook.GetNamespace("MAPI")
    Set Folder = ns.GetDefaultFolder(olFolderInbox)
 
    Olook.Explorers.Add Folder
 
    'faz o que tem que fazer
 
    Olook.Quit
    Set Olook = Nothing
 
End Sub

Estranhamente, criar a instância do “Outlook.Application” não suficiente, já que o método Show ou Visible não existem no objeto, da mesma forma que acontece quando manipulamos um “Excel.Application” ou mesmo “Word.Application”.

Na linha:

‘faz o que tem que fazer

É o código para manipular ou trabalhar com os objetos do Outlook, como a criação do email citada acima. O restante das linhas fecha o Outlook, e podem ser omitidas conforme a necessidade, o que manterá o Outlook aberto.

É importante frisar que o código não vai garantir a abertura do Outlook corretamente caso ele requisite credenciais ou senha de acesso, muito comum em redes empresariais.

Bom, está aí. Bom proveito!