Die beiden folgenden Beispielmakros zeigen, wie Sie Informationen an Outlook senden können
(z. B. Senden einer E-Mail-Nachricht) und wie Sie Informationen aus Outlook abrufen können
(z.B. Abrufen einer Liste aller Nachrichten im Posteingang).
Notiz! Lesen und bearbeiten Sie den Beispielcode, bevor Sie versuchen, ihn in Ihrem eigenen Projekt auszuführen!
' erfordert einen Verweis auf die Microsoft Outlook 8.0-Objektbibliothek Sub SendAnEmailWithOutlook() ' erstellt und sendet eine neue E-Mail-Nachricht mit 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 ' erstellt eine neue E-Mail-Nachricht Mit olMailItem .Subject = "Betreff für die neue E- mail message" ' Betreff der Nachricht Set ToContact = .Recipients.Add("[email protected]") ' einen Empfänger hinzufügen Set ToContact = .Recipients.Add("[email protected]") ' einen Empfänger hinzufügen ToContact.Type = olCC ' Letzten Empfänger als CC festlegen Set ToContact = .Recipients.Add("[email protected]") ' Empfänger hinzufügen ToContact.Type = olBCC ' Letzten Empfänger als BCC festlegen .Body = "Dies ist der Nachrichtentext" & Chr (13) ' der Nachrichtentext mit einem Zeilenumbruch .Attachments.Add "C:\Ordnername\Dateiname.txt", olByValue, , _ "Attachment" ' Anlage einfügen ' .Attachments.Add "C :\FolderName\Filename.txt", olByReference, , _ "Shortcut to Attachment" ' Verknüpfung einfügen ' .Attachments.Add "C:\FolderName\Filename.txt", olEmbeddedItem, , _ "Embedded Attachment" ' eingebetteter Anhang ' . Attachments.Add "C:\Ordnername\Dateiname.txt", olOLE, , _ "OLE Attachment" ' OLE-Anhang .OriginatorDeliveryReportRequested = True ' Lieferbestätigung .ReadReceiptRequested = True 'Lesebestätigung '.Save ' speichert die Nachricht zur späteren Bearbeitung. Send ' sendet die E-Mail-Nachricht (legt sie in den Postausgang) End With Set ToContact = Nothing Set olMailItem = Nothing Set OLF = Nothing End Sub 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 ' eine neue Arbeitsmappe erstellen ' Überschriften hinzufügen Cells(1, 1).Formula = "Subject" Cells(1, 2).Formula = "Recieved" Cells(1 , 3).Formula = "Attachments" Cells(1, 4)).Formula = "Read" With Range("A1:D1").Font .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 ' E-Mail-Informationen lesen Während i < EmailItemCount i = i + 1 Wenn i Mod 50 = 0 Then Application.StatusBar = "E-Mail-Nachrichten werden gelesen" & _ Format(i / EmailItemCount, "0%") & "… " Mit OLF.Items(i) EmailCount = EmailCount + 1 Cells(EmailCount + 1, 1).Formula = .Subject Cells(EmailCount + 1, 2).Formula = Format(.ReceivedTime, "dd.mm.yyyy hh: mm") Cells(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 ").AutoFit Range("A2").Select ActiveWindow.FreezePanes = True ActiveWorkbook.Saved = True Application.StatusBar = False End Sub