Serienmail mit VBA in Lotus Notes erstellen
Schritt-für-Schritt-Anleitung
-
Vorbereitung der Excel-Datei: Stelle sicher, dass deine Excel-Datei die richtigen Spalten hat:
- Spalte A: E-Mailadresse 1
- Spalte B: E-Mailadresse 2 (wird verwendet, wenn A leer ist)
- Spalte C: Datum
- Spalte D: Werte
- Spalte E/F: Weitere Werte
-
Öffne den VBA-Editor:
- Drücke
ALT + F11
, um den VBA-Editor zu öffnen.
-
Füge ein neues Modul hinzu:
- Rechtsklick auf "VBAProject (DeineDatei.xlsx)" > Einfügen > Modul.
-
Kopiere und füge den folgenden VBA-Code ein:
Sub SendSerialEmail()
Dim session As Object
Dim db As Object
Dim doc As Object
Dim rtitem As Object
Dim i As Integer
Dim recipient As String
Dim body As String
Set session = CreateObject("Lotus.NotesSession")
Set db = session.CurrentDatabase
For i = 2 To ActiveSheet.UsedRange.Rows.Count
If Cells(i, 1).Value <> "" Then
recipient = Cells(i, 1).Value
Else
recipient = Cells(i, 2).Value
End If
body = "Guten Tag," & vbCrLf & _
"Können Sie mir bitte bis am " & Cells(i, 3).Value & _
" folgenden Wert liefern: " & Cells(i, 4).Value & "." & vbCrLf & _
"Bitte Info an folgende Stelle weiterleiten: " & Cells(i, 5).Value & " und " & Cells(i, 6).Value & "." & vbCrLf & _
"Mit freundlichen Grüßen," & vbCrLf & _
"Dein Name"
Set doc = db.CreateDocument
doc.ReplaceItemValue "SendTo", recipient
doc.ReplaceItemValue "Subject", "Wert Anfrage"
Set rtitem = doc.CreateRichTextItem("Body", body)
doc.Send False
Next i
End Sub
-
Führe das Skript aus: Drücke F5
, um das Skript auszuführen und die E-Mails zu versenden.
Häufige Fehler und Lösungen
- Fehler: E-Mail wird nicht gesendet: Überprüfe, ob Lotus Notes korrekt konfiguriert ist und ob du die nötigen Berechtigungen hast.
- Fehler: Keine E-Mail-Adresse angegeben: Stelle sicher, dass in Spalte A oder B eine E-Mail-Adresse vorhanden ist.
- Fehler: VBA-Fehlermeldung: Überprüfe den Code auf Tippfehler oder fehlende Verweise auf die Lotus Notes-Bibliothek.
Alternative Methoden
Wenn du keine VBA-Lösung verwenden möchtest, kannst du auch externe Tools wie Mail Merge in Microsoft Word ausprobieren. Diese Methode ist jedoch weniger flexibel, wenn es um dynamische Inhalte pro Empfänger geht.
Praktische Beispiele
Nehmen wir an, du hast die folgenden Daten in deiner Excel-Datei:
E-Mailadresse 1 |
E-Mailadresse 2 |
Datum |
Wert D |
Wert E |
Wert F |
beispiel1@domain.com |
beispiel2@domain.com |
01.01.2023 |
Wert 1 |
Wert A |
Wert B |
|
beispiel3@domain.com |
02.01.2023 |
Wert 2 |
Wert C |
Wert D |
Die E-Mail an beispiel1@domain.com
würde folgendermaßen aussehen:
Guten Tag,
Können Sie mir bitte bis am 01.01.2023 folgenden Wert liefern: Wert 1.
Bitte Info an folgende Stelle weiterleiten: Wert A und Wert B.
Mit freundlichen Grüßen,
Dein Name
Tipps für Profis
- Debugging: Nutze
Debug.Print
im Code, um Werte während der Ausführung zu überprüfen.
- Sicherheitsoptionen: Stelle sicher, dass die Sicherheitseinstellungen in Lotus Notes das Versenden von E-Mails über VBA zulassen.
- Optimierung: Für größere Datenmengen kann es sinnvoll sein, den E-Mail-Versand in Batches zu unterteilen.
FAQ: Häufige Fragen
1. Kann ich auch CC oder BCC hinzufügen?
Ja, du kannst weitere Empfänger hinzufügen, indem du die ReplaceItemValue
-Methode für die Felder "CC" oder "BCC" verwendest.
2. Funktioniert dieses Skript auch mit anderen E-Mail-Clients?
Das Skript ist speziell für Lotus Notes optimiert. Für andere Clients wie Outlook muss der Code entsprechend angepasst werden.
3. Was mache ich, wenn ich keine VBA-Kenntnisse habe?
Es gibt viele Online-Ressourcen und Tutorials, die dir helfen können, die Grundlagen von VBA zu lernen. Alternativ kannst du auch einen Experten um Hilfe bitten.