| 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 o MS Outlook.
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 o 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 PRESENTAÇÃ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_ErrorDim nsSession As Outlook.NameSpaceDim fldFolder As Outlook.MAPIFolderDim itmMail As Outlook.MailItemDim MailRecipient As Outlook.RecipientDim inputTemp As Outlook.RecipientSet nsSession = Application.SessionIf 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 = NothingtmpInput = InputBox("Enter the email Subject")itmMail.Subject = tmpInputtmpInput = InputBox("Enter the email Message")itmMail.Body = tmpInputitmMail.SendSet itmMail = Nothing
End If
Set fldFolder = Nothing
End If
nsSession.Logoff
End If
Exiting:Set nsSession = NothingExit SubOn_Error:MsgBox "err=" & Err.Number & " " & Err.DescriptionResume Exiting
End SubAbra o VBE no Outlook, pressionando o ALT+F11. Dê um duplo clique em ThisOutlookSession.Agora cole o código VBA.
Nenhum comentário:
Postar um comentário