VBA Outlook - Como criar um código no Outlook - How to Create an Outlook VBA Code

Inline image 1
Blog Office VBA | Blog Excel | Blog Access |


Pode ser necessário que durante o desenvolvimento de uma aplicação para infinitos fins, como as que desenvolvemos, precisemos interagir com outros produtos da suíte MS Office. Por exemplo, talvez necessites interagir com MS Outlook

Caso tal necessidade ocorra, é importante que estejamos familiarizados com este ambiente de desenvolvimento.

Antes de continuar, um pequeno parênteses, deixe seus comentários para este post. 

As seguintes situações serão possíveis e totalmente implementáveis:

1. De dentro do seu MS Outlook, acesse uma lista de contatos e seus respectivos e-mails numa base de dados do MS Access e envie um relatório gravado numa planilha comum do MS Excel para todos.

2. Programe que em determinada data uma newsletter será enviada a partir da sua máquina para um seleto grupo de Clientes.

3. Em associação com uma base de dados, com alguns scripts SQLenvie os relatórios para as diversas filiais da sua empresa logo pela manhã, certificando-se de que os respectivos e-mails o notifiquem quando forem abertos.

4. Após uma apresentação que efetuou num Workshop, envie a sua aprensentação do MS Powerpoint para todas as pessoas que lhe enviaram um e-mail com a frase "UMA PRESENTAÇÃO POR FAVORescrita no assunto.

Ao contrário do MS Word e do MS Excel, para criarmos o nosso código no MS Outlook não há um gravador de macro para nos ajudar.

Bem, antes de começar certifique-se de que a configuração de segurança de macro esteja definida como Baixa. caso contrário as macros simplesmente não funcionarão. Mas pensando bem, Baixo não é o recomendado, defina-a como Médio. Para isso, No MS Outlook, vá em Ferramentas > Macro > Segurança e mude.

Copie o código abaixo:

Sub SendMail()
On Error GoTo On_Error

 Dim nsSession As Outlook.NameSpace
 Dim fldFolder As Outlook.MAPIFolder
 Dim itmMail As Outlook.MailItem
 Dim MailRecipient As Outlook.Recipient
 Dim inputTemp As Outlook.Recipient
 Set nsSession = Application.Session

 If Not nsSession Is Nothing Then
 nsSession.Logon , , False, False

 Set fldFolder = nsSession.GetDefaultFolder(olFolderOutbox)

 If Not fldFolder Is Nothing Then
 Set itmMail = fldFolder.Items.Add(olMailItem)

 If Not itmMail Is Nothing Then
 tmpInput = InputBox("Enter the email Address")
 Set oRecipient = itmMail.Recipients.Add(tmpInput)
 oRecipient.Type = olTo
 Set oRecipient = Nothing
 tmpInput = InputBox("Enter the email Subject")
 itmMail.Subject = tmpInput
 tmpInput = InputBox("Enter the email Message")
 itmMail.Body = tmpInput
 itmMail.Send
 Set itmMail = Nothing
 End If
 Set fldFolder = Nothing
 End If

 nsSession.Logoff
 End If
Exiting:
 Set nsSession = Nothing
 Exit Sub

On_Error:
 MsgBox "err=" & Err.Number & " " & Err.Description
 Resume Exiting
End Sub

Abra o VBE no Outlook, pressionando o ALT+F11. Dê um duplo clique em ThisOutlookSession.

Agora cole o código VBA.

Tags: VBA, Office, Outlook,

Inspiration: 

Nenhum comentário:

Postar um comentário

diHITT - Notícias