Views

Histats

Vitrine

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

Inline image 1
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 SQL
envie 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 APRESENTAÇÃO POR FAVOR
escrita 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: 

LinkWithinBrazilVBAExcelSpecialist

Related Posts Plugin for WordPress, Blogger...