Zum Hauptinhalt springen

Excel VBA zum Senden von E-Mails an Outlook

Microsoft Excel ist eines der beliebtesten Werkzeuge für die Arbeit mit Tabellen und die Datenanalyse. Zusätzlich zu seiner Kernfunktionalität bietet Excel jedoch viel mehr Funktionen, einschließlich der Automatisierung von Aufgaben mit Makros und Visual Basic for Applications (VBA).

Wenn Sie mit Daten in Excel arbeiten, müssen Sie häufig eine E-Mail senden, um die Analyseergebnisse zu benachrichtigen oder zu übermitteln. In diesem Fall kann die Verwendung von VBA zum Senden von E-Mails aus Excel diesen Prozess erheblich vereinfachen.

Einer der beliebtesten E-Mail-Clients ist Microsoft Outlook, das häufig in einer Büroumgebung verwendet wird. Mit VBA können Sie das Senden von E-Mails über Outlook automatisieren, Empfänger festlegen, den Betreff und den Inhalt der E-Mail angeben und Dateien an die E-Mail anhängen.

Die Verwendung von Excel VBA zum Senden von E-Mails an Outlook kann den Austausch von Informationen erheblich verbessern und die Dateneffizienz verbessern.

Excel VBA zum Automatisieren von Aufgaben

Eine der nützlichsten Anwendungen von VBA in Excel besteht darin, das Senden von E-Mails über Outlook zu automatisieren. Mit VBA können Sie ein Makro schreiben, das Daten aus Excel-Tabellen sammelt und an die angegebenen E-Mail-Adressen sendet. Dies kann beispielsweise zum automatischen Senden von Berichten oder Benachrichtigungen nützlich sein.

Die Hauptfunktion von VBA für die Arbeit mit E-Mails in Excel ist das Outlook-Objekt.Application. Sie können ein Postfach öffnen, eine neue Nachricht erstellen, Empfänger, Betreff und Text der E-Mail festlegen und Dateien oder Excel-Tabellen anhängen.

Um E-Mails automatisch aus Excel mithilfe von VBA zu senden, müssen Sie eine neue Prozedur oder Funktion im VBA-Modul erstellen und Code schreiben, um die erforderlichen Schritte auszuführen. Als Beispiel sendet der folgende Code eine E-Mail mit einer Liste von Namen und E-Mail-Adressen aus einer Excel-Tabelle:

NameE-Mail-Adresse
Iwan[email protected]
Maria[email protected]
Peter[email protected]

Sie können den folgenden Code verwenden, um eine solche E-Mail zu senden:

Sub ОтправитьПочту()Dim outlookApp As Outlook.ApplicationDim outlookMail As Outlook.MailItemDim nameColumn As RangeDim emailColumn As RangeDim nameRange As RangeDim emailRange As Range' Открыть приложение OutlookSet outlookApp = New Outlook.Application' Создать новое письмоSet outlookMail = outlookApp.CreateItem(olMailItem)' Найти диапазоны имен и адресов электронной почтыSet nameColumn = Range("A2:A4")Set emailColumn = Range("B2:B4")' Объединить имена и адреса в одну строкуSet nameRange = nameColumn.Columns(1)Set emailRange = emailColumn.Columns(1)outlookMail.To = Join(emailRange.Value, ";")' Задать тему письмаoutlookMail.Subject = "Список адресов электронной почты"' Задать текст письмаoutlookMail.Body = "Список имен и адресов электронной почты:" & vbCrLf & vbCrLf & nameRange.Address & vbCrLf & emailRange.Address' Отправить письмоoutlookMail.Send' Освободить ресурсыSet outlookMail = NothingSet outlookApp = NothingEnd Sub

Der Code erstellt eine neue E-Mail in Outlook, füllt das Feld "An" mit E-Mail-Adressen aus einer Excel-Tabelle aus, legt den Betreff und den Text der E-Mail fest und sendet sie dann. Nachdem Sie den gesamten Code ausgeführt haben, müssen Sie Ressourcen freigeben, indem Sie die Objektvariablen auf Nothing setzen.

Auf diese Weise macht es Excel VBA einfach, verschiedene Aufgaben in einem Excel-Programm zu automatisieren. Es kann verwendet werden, um komplexe Makros zu erstellen, die es Benutzern ermöglichen, Zeit zu sparen und die Effizienz bei der Arbeit mit elektronischen Daten zu verbessern.

Excel VBA für die Arbeit mit E-Mails

Excel VBA (Visual Basic for Applications) bietet ein leistungsfähiges Toolkit zur Automatisierung von E-Mail-Arbeiten in Microsoft Outlook. Mit VBA können Sie E-Mails erstellen, senden und anzeigen, Anhänge hinzufügen und verschiedene Nachrichteneinstellungen konfigurieren.

Um mit E-Mail in Excel VBA zu beginnen, müssen Sie einen Verweis auf die Microsoft Outlook-Objektbibliothek in einer benutzerdefinierten Excel-Entwicklungsumgebung hinzufügen. Wählen Sie dazu im Menü "Tools" die Option "Referenzen" aus und suchen Sie in der Liste der verfügbaren Bibliotheken nach "Microsoft Outlook Object Library". Danach können Sie die von dieser Bibliothek bereitgestellten Objekte und Methoden verwenden.

Eine der Hauptaufgaben, die mit Excel VBA und Outlook gelöst werden können, besteht darin, das Senden von E-Mails zu automatisieren. Dazu können Sie Outlook-Objekte wie "Application", "Namespace" und "MailItem" verwenden. Mit dem folgenden Code können Sie beispielsweise eine neue E-Mail erstellen, den Empfänger, den Betreff und den Nachrichtentext angeben und dann senden:

Sub ОтправитьПисьмо()Dim OutlookApp As ObjectDim OutlookMail As ObjectSet OutlookApp = CreateObject("Outlook.Application")Set OutlookMail = OutlookApp.CreateItem(0)With OutlookMail.To = "[email protected]".Subject = "Привет от Excel!".Body = "Привет, это тестовое письмо из Excel VBA.".SendEnd WithSet OutlookMail = NothingSet OutlookApp = NothingEnd Sub

Neben dem Senden von E-Mails können Sie mit Excel VBA auch eingehende E-Mails empfangen und verarbeiten. Sie können beispielsweise ein Makro erstellen, das eingehende E-Mails mit einem bestimmten Titel automatisch in einen bestimmten Ordner überträgt. Dazu können Sie Outlook-Objekte wie "Application", "Namespace", "Folders" und "Items" verwenden. Im folgenden Codebeispiel wird veranschaulicht, wie dies möglich ist:

Sub ОбработкаПисем()Dim OutlookApp As ObjectDim OutlookNamespace As ObjectDim Inbox As ObjectDim Folder As ObjectDim Item As ObjectSet OutlookApp = CreateObject("Outlook.Application")Set OutlookNamespace = OutlookApp.GetNamespace("MAPI")Set Inbox = OutlookNamespace.GetDefaultFolder(6)Set Folder = Inbox.Folders("Важные")For Each Item In Folder.ItemsIf InStr(1, Item.Subject, "Важное письмо") > 0 ThenItem.Move Inbox.Folders("Архив")End IfNext ItemSet Item = NothingSet Folder = NothingSet Inbox = NothingSet OutlookNamespace = NothingSet OutlookApp = NothingEnd Sub

Daher bietet Excel VBA viele Möglichkeiten, mit E-Mails in Outlook zu arbeiten. Dadurch können Sie Routineaufgaben im Zusammenhang mit dem Senden und Empfangen von E-Mails automatisieren und viel Zeit und Aufwand sparen.

Beachten Sie außerdem, dass Sie Microsoft Outlook installieren und konfigurieren müssen, um mit E-Mails in Excel VBA arbeiten zu können, und dass Sie Zugriff auf Ihr E-Mail-Konto haben.