Outlook-Automatisierung mit Excel
Zu meinen aktuellen Aufgaben gehört es gelegentlich, Aufträge an den IT-Dienstleister in einem bestimmten Format zu verfassen. Nachdem ich einige Male die notwendigen Texte mühevoll zusammenkopiert hatte, kam der Wunsch nach der Automatisierung des ganzen auf. Mit ein wenig VBA Code und Google (http://www.exceltip.com/show_tip/Applications_-_Word,_Outlook_in_VBA/Control_Outlook_from_Excel_using_VBA_in_Microsoft_Excel/464.html) ist es recht einfach, die E-Mails zusammenzubauen.
Hier ein einfaches Beispiel: Aus der jeweils aktiven Zeile sollen E-Mail Adresse, Betreff und Body ausgelesen und in eine E-Mail gesetzt werden, die aktive Zeile ermittele ich dabei über currentrow = ActiveCell.Row
.
Der Code, der unter dem Link verfügbar ist, benötigt eine Referenz zur Microsoft Outlook
Sub SendAnEmailWithOutlook() currentrow = ActiveCell.Row 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 neue Mail With olMailItem .Subject = Cells(currentrow, 3).Value ' Betreff Set ToContact = .Recipients.Add(Cells(currentrow, 2).Value) ' Empfänger .Body = Cells(currentrow, 4).Value ' Body .Save ' nur Speichern, nicht sofort senden End With Set ToContact = Nothing Set olMailItem = Nothing Set OLF = Nothing End Sub