Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Serienmail in Outlook mit Dateianhang

Forumthread: Serienmail in Outlook mit Dateianhang

Serienmail in Outlook mit Dateianhang
15.10.2002 15:26:44
N. Davidheimann
Hallo allerseits,

wie kann ich über VBA ein mail mit gleichem Betreff und gleichem Text an verschiedene Adressaten schicken ? Weiterhin müßte an die mail für den einzelnen Adressaten die Datei lt. folgendem Ausschniit angehängt werden:

Gruß
Norbert


Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Serienmail in Outlook mit Dateianhang
15.10.2002 15:43:06
bernd
Hallo Norbert,

ich glaube nicht, daß der Beitrag hierher gehört :-(, aber aus Erfahrung kann ich Dir sagen, daß Du hier auf Granit stoßen wirst. ICh habe einen Programmierung mal im Internet gesehen, nachdem wir das gleiche Problem hatten und das zum Beispiel mit Wörd nicht ohne weiteres hinbekommen haben. Das Problem ist der Anhang!!! Es gibt aber Mailer, die so etwas können, auch im Internet auffindbar.

Sorry, daß ich Dir nicht besser helfen kann.

Gruß

Bernd

Anzeige
Danke an Bernd aber weiter offen
15.10.2002 15:48:27
N. Davidheimann
Hallo Bernd,

warum nicht hierhin ?? Will über VBA aus Excel diesen Versand anstoßen.

Gruß
Norbert

Re: Danke an Bernd aber weiter offen
15.10.2002 16:08:08
Bernd
Hallo Norbert,

ich glaube trotzdem nicht, daß das so ohne weiteres möglich sein wird, denn Du wirst an dem zusätzlichen Attachement scheitern (wie ich im übrigen auch).

Und wenn ich Dich richtig verstehe, willst Du auch keine Excel Tabellen per eMail verschicken, sondern die Exceldatei als Datenbank für das Serienmail hernehmen.

Sollte ich mich irren, dann Zeichne, bzw versuche es, den Vorgang als Makro aufzuzeichnen.

Aber was hällst Du davon bei mal unter http://support.microsoft.com
mal zu suchen. Die haben auch recht gute Lösungen.

Und wenn ich mich Irre, dann wäre ich natürlich an der Lösung auch interessiert.

Gruß

Bernd

Anzeige
Schau mal hier rein
15.10.2002 16:18:19
Bernd
Hallo Norbert,

ich hab etwas gefunden, was Dir eventuell weiterhelfen könnte.

Es handelt sich dabei um den MS Artikel Q241498 aus der Knowledge Base.


Der Artikel:

This article contains a Microsoft Visual Basic for Applications macro for Excel that uses Microsoft Outlook 2000 to generate and send a form e-mail to individuals that are listed in an Excel worksheet.

This macro assumes the following:
E-mail addresses are in column A.
Names are in column B.
Cells A1 and B1 contain headers.
To create the macro:
Start Excel. Create a new workbook, and open the Visual Basic editor (press ALT+F11).
On the Insert menu, click Module.
On the Tools menu, click References.
In the Available References list, click to select the Microsoft Outlook 9.0 Object Library check box. Click OK.
Type the following code into the code module:
'--- Set up the Outlook objects.
Dim objOutlook As Outlook.Application
Dim objOutlookMsg As Outlook.MailItem
Dim objOutlookRecip As Outlook.Recipient
Dim objOutlookAttach As Outlook.Attachment

'--- Declare our global variables to be used in each subroutine.
Dim CustomerAddress As String
Dim CustomerMessage As String

Sub MailItNow()

'--- Declare our variables.
Dim X As Integer
Dim TempCustomerAddress As String

'--- Prevent screen redraws until the macro is finished.
Application.ScreenUpdating = False

'--- Sort the addresses and names alphabetically, by the e-mail address.
'--- This is REQUIRED to prevent any duplicate addresses from
' receiving more than one e-mail.

Columns("A:B").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

'--- Sets which row to start searching for e-mail addresses and names.
X = 2

'--- Begin looping through all the e-mail addresses in column A until
' a blank cell is hit.
While Range("A" & X).Text <> ""

'--- These variables will be used to search for duplicates.
CustomerAddress = Range("A" & X).Text
TempCustomerAddress = CustomerAddress

'--- Increment X until a different e-mail address is found.
While TempCustomerAddress = CustomerAddress
X = X + 1
CustomerAddress = Range("A" & X).Text
Wend

'--- Add the e-mail address to a global variable.
CustomerAddress = Range("A" & X - 1).Text
'--- Add a message with the user's name to the e-mail.
'--- Customize your own message and closing here.
CustomerMessage = Range("B" & X - 1).Text & "," & vbCrLf & vbCrLf _
& "Thank you for trying our product!" & vbCrLf & vbCrLf & _
"Sincerely," & vbCrLf & "ProductCo Inc."

'--- Run the subroutine to send the message.
Call SendMessage

Wend

End Sub

Sub SendMessage(Optional AttachmentPath)

'--- This is required to prevent a name which does not resolve to
' an e-mail address from hanging the app.
On Error Resume Next

' Create the Outlook session.
Set objOutlook = CreateObject("Outlook.Application")

' Create the message.
Set objOutlookMsg = objOutlook.CreateItem(olMailItem)

With objOutlookMsg
' Add the To recipient(s) to the message.
Set objOutlookRecip = .Recipients.Add(CustomerAddress)
objOutlookRecip.Type = olTo

' Set the Subject, Body, and Importance of the message.
.Subject = "Thank You!"
.Body = CustomerMessage
.Importance = olImportanceHigh 'High importance

' Add attachments to the message.
If Not IsMissing(AttachmentPath) Then
Set objOutlookAttach = .Attachments.Add(AttachmentPath)
End If

' Resolve each Recipient's name.
For Each objOutlookRecip In .Recipients
objOutlookRecip.Resolve
If Not objOutlookRecip.Resolve Then
Exit Sub
End If
Next
.Send '--- Send the message.

End With

'--- Remove the message and Outlook application from memory.
Set objOutlookMsg = Nothing
Set objOutlook = Nothing
End Sub

On the File menu, click Close and Return to Microsoft Excel.
To run the code, make sure the address database sheet is active. On the Tools menu, point to Macro, and click Macros. Click MailItNow, and then click Run.

Ich hoffe es Hilft weiter und Herbert nimmt das in seinen Beispielen auf, sofern er es noch nicht hat

Anzeige
Re: Danke an Bernd aber weiter offen
15.10.2002 16:21:42
N. Davidheimann
Hallo Bernd,

könnte mir vorstellen (ohne es bisher ausprobiert zu haben), daß und folgendes weiterbringt:

https://www.herber.de/mailing/109400h.htm

Gruß
Norbert

Re: Danke an Bernd aber weiter offen
15.10.2002 16:26:07
Bernd
Hallo Norbert,

Danke

Da war ich aber mit meinem Fund auch nicht schlecht :-)

Schau es Dir einfach an.

Ist oben unter "Schau mal hier rein" geposted.

Bernd


Anzeige
Re: Danke an Bernd aber weiter offen
15.10.2002 16:28:56
N. Davidheimann
Hallo Bernd,

hatte sich überschnitten. Werde heute abend mal die Sache testen.

Gruß
Norbert

Re: Danke an Bernd aber weiter offen
15.10.2002 16:31:41
Bernd
Hallo Norbert,

nicht für ungut.

Viel Spaß beim Testen.

Schönen Abend noch.

Gruß

Bernd

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Serienmail in Outlook mit individuellem Anhang erstellen


Schritt-für-Schritt-Anleitung

Um eine Serienmail in Outlook mit individuellem Anhang zu erstellen, kannst du VBA (Visual Basic for Applications) verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Excel vorbereiten: Lege eine Excel-Tabelle an, in der die E-Mail-Adressen in Spalte A und die Namen in Spalte B stehen. Achte darauf, dass die erste Zeile die Überschriften enthält.

  2. Visual Basic Editor öffnen: Drücke ALT + F11, um den Visual Basic Editor zu öffnen.

  3. Modul einfügen: Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  4. Code eingeben: Füge den folgenden VBA-Code in das Modul ein:

    Sub MailItNow()
        Dim objOutlook As Object
        Dim objOutlookMsg As Object
        Dim objOutlookRecip As Object
        Dim CustomerAddress As String
        Dim CustomerMessage As String
        Dim X As Integer
    
        Set objOutlook = CreateObject("Outlook.Application")
        X = 2
    
        While Range("A" & X).Text <> ""
            CustomerAddress = Range("A" & X).Text
            CustomerMessage = "Hallo " & Range("B" & X).Text & ",\n\nVielen Dank für Ihre Anfrage."
    
            Set objOutlookMsg = objOutlook.CreateItem(0)
            With objOutlookMsg
                .To = CustomerAddress
                .Subject = "Ihre Anfrage"
                .Body = CustomerMessage
                ' Füge hier den Pfad zum Anhang hinzu
                .Attachments.Add "C:\Pfad\zu\deinem\Anhang.pdf"
                .Send
            End With
    
            X = X + 1
        Wend
    
        Set objOutlookMsg = Nothing
        Set objOutlook = Nothing
    End Sub
  5. Makro ausführen: Schließe den Editor und gehe zurück zu Excel. Wähle Extras > Makros, wähle MailItNow aus und klicke auf Ausführen.


Häufige Fehler und Lösungen

  • Fehlermeldung bei fehlendem Reiter: Wenn der Reiter "Serienmail" in Excel fehlt, stelle sicher, dass du die richtige Excel-Version verwendest. In Excel 2016 sollte dieser Reiter vorhanden sein.

  • E-Mail-Adresse nicht erkannt: Überprüfe, ob die E-Mail-Adressen korrekt in Spalte A eingegeben sind und keine Leerzeichen oder ungültigen Formate enthalten.

  • Anhang wird nicht hinzugefügt: Stelle sicher, dass der Pfad zum Anhang korrekt ist. Wenn der Anhang nicht gefunden wird, kann die E-Mail nicht gesendet werden.


Alternative Methoden

Neben der VBA-Methode kannst du auch Tools oder Add-Ins verwenden, um eine Serienmail in Outlook mit Anhang zu erstellen:

  • Outlook Serienbrief: Verwende die Serienbrief-Funktion in Word, um personalisierte E-Mails zu erstellen und mit Outlook zu versenden.

  • Mail Merge Toolkit: Ein kostenpflichtiges Add-In, das erweiterte Funktionen für Serienmails in Outlook bietet, einschließlich der Möglichkeit, individuelle Anhänge hinzuzufügen.


Praktische Beispiele

Hier sind einige nützliche Beispiele:

  1. Serienmail aus Excel mit Anhang:

    • Erstelle eine Liste in Excel mit E-Mail-Adressen und individuellen Dateien, die an jede E-Mail angehängt werden sollen.
    • Passe den VBA-Code an, um den Anhang dynamisch basierend auf der Zeile auszuwählen.
  2. Massenmail versenden in Outlook:

    • Verwende die oben genannten VBA-Skripte, um eine Massenmail an alle Kontakte in deiner Excel-Datei zu versenden.

Tipps für Profis

  • Debugging: Nutze die Debugging-Funktion im VBA-Editor, um Fehler im Code zu finden und zu beheben.

  • Testen: Teste deine Makros immer zuerst mit einer kleinen Gruppe an E-Mail-Adressen, um sicherzustellen, dass alles funktioniert.

  • Sicherheitseinstellungen: Stelle sicher, dass deine Outlook-Sicherheitseinstellungen das Senden von Mails über VBA erlauben.


FAQ: Häufige Fragen

1. Wie kann ich eine Serienmail mit individuellem PDF-Anhang versenden? Du kannst den VBA-Code anpassen, um den Pfad zum PDF-Anhang dynamisch zu bestimmen, abhängig von den Daten in deiner Excel-Tabelle.

2. Welche Excel-Version benötige ich für die Serienmail-Funktion? Die Anleitung funktioniert am besten mit Outlook 2016 und späteren Versionen. Stelle sicher, dass du die richtigen Add-Ins hast, um die volle Funktionalität nutzen zu können.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige