Os dois exemplos de macros abaixo demonstram como você pode enviar informações para o Outlook
(por exemplo, enviar uma mensagem de e-mail) e como você pode recuperar informações do Outlook
(por exemplo, recuperar uma lista de todas as mensagens na caixa de entrada).
Observação! Leia e edite o código de exemplo antes de tentar executá-lo em seu próprio projeto!
'requer uma referência à biblioteca de objetos do Microsoft Outlook 8.0 Sub SendAnEmailWithOutlook ()' cria e envia uma nova mensagem de e-mail com Outlook Dim OLF As Outlook.MAPIFolder, olMailItem As Outlook.MailItem Dim ToContact As Outlook.Recipient Set OLF = GetObject ( "", _ "Outlook.Application"). GetNamespace ("MAPI"). GetDefaultFolder (olFolderInbox) Set olMailItem = OLF.Items.Add 'cria uma nova mensagem de e-mail Com olMailItem .Subject = "Assunto para o novo e- mensagem de correio "'assunto da mensagem Definir ToContact = .Recipients.Add (" [email protected] ")' adicionar um destinatário Definir ToContact = .Recipients.Add (" [email protected] ") 'adicionar um destinatário ToContact.Type = olCC 'definir último destinatário como CC Set ToContact = .Recipients.Add ("[email protected]")' adicionar um destinatário ToContact.Type = olBCC 'definir último destinatário como BCC .Body = "Este é o texto da mensagem" & Chr (13) 'o texto da mensagem com uma quebra de linha .Attachments.Add "C: \ FolderName \ Filename.txt", olByValue,, _ "Attachment"' insert attachment '.Attachments.Add "C : \ FolderName \ Filename.txt ", olByReference,, _" Atalho para anexo "'inserir atalho' .Attachments.Add" C: \ FolderName \ Filename.txt ", olEmbeddedItem,, _" Embedded Attachment "'anexo incorporado'. Attachments.Add "C: \ FolderName \ Filename.txt", olOLE,, _ "OLE Attachment" 'OLE attachment .OriginatorDeliveryReportRequested = True' confirmação de entrega .ReadReceiptRequested = True 'confirmação de leitura' .Save 'salva a mensagem para edição posterior. Send 'envia a mensagem de e-mail (coloca na caixa de saída) End With Set ToContact = Nothing Set olMailItem = Nothing Set OLF = Nothing End Sub ListAllItemsInInbox () Dim OLF As Outlook.MAPIFolder, CurrUser As String Dim EmailItemCount As Integer, i As Integer, EmailCount As Integer Application.ScreenUpdating = False Workbooks.Add 'criar uma nova pasta de trabalho' adicionar cabeçalhos Células (1, 1) .Formula = "Assunto" Células (1, 2) .Formula = Células "Recebidas" (1 , 3) .Formula = "Anexos" Células (1, 4) .Formula = "Ler" com intervalo ("A1: D1"). Fonte .Bold = True .Si ze = 14 End With Application.Calculation = xlCalculationManual Set OLF = GetObject ("", _ "Outlook.Application"). GetNamespace ("MAPI"). GetDefaultFolder (olFolderInbox) EmailItemCount = OLF.Items.Count i = 0: EmailCount = 0: EmailCount = 0 'lê informações de e-mail While i <EmailItemCount i = i + 1 If i Mod 50 = 0 Then Application.StatusBar = "Lendo mensagens de e-mail" & _ Format (i / EmailItemCount, "0%") & "… "Com OLF.Items (i) EmailCount = EmailCount + 1 Cells (EmailCount + 1, 1) .Formula = .Subject Cells (EmailCount + 1, 2) .Formula = Format (.ReceivedTime," dd.mm.yyyy hh: mm ") Células (EmailCount + 1, 3) .Formula = .Attachments.Count Cells (EmailCount + 1, 4) .Formula = Not .UnRead End With Wend Application.Calculation = xlCalculationAutomatic Set OLF = Nothing Columns (" A: D "). Intervalo de AutoFit (" A2 "). Selecione ActiveWindow.FreezePanes = True ActiveWorkbook.Saved = True Application.StatusBar = False End Sub