Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA : eMail aus Excel in Thunderbird

Forumthread: VBA : eMail aus Excel in Thunderbird

VBA : eMail aus Excel in Thunderbird
13.01.2013 14:14:56
Marc
Hallo Forumteilnehmer
ich möchte aus einem ExcelSheet heraus eine Mail generieren ...
mit Outlook hatte das immer problemlos funktioniert aber wegen Systemumstellung musste ich auf ein anderes Mailprogramm -hier Thunderbird von Mozilla - zurückgreifen
Das Maildokument wird korrekt geöffnet und die Felder mailto, subject oder body werden auch korrekt befüllt.. lediglich der Anhang wird nicht integriert,.. WESHALB?
Der Code sieht wie folgt aus:
Private Sub SendMailThunder_Click()
Dim strAn As String
Dim strBetr As String
Dim ..... 'alle anderen; hab die jetzt mal fürs forum rausgenommen
'******** Variable zur Übergabe
strEmpfaenger1 = Range("O19").Value
strEmpfaenger2 = Range("O20").Value
strAn = strEmpfaenger1 & ";" & strEmpfaenger2
strBetr = "Abrechnungsbeleg"
strBody = "Tagesbeleg vom " & Mid(strFile2, 19, 10)
'strFile2 = Range("ah3") 'wird Pfad und Name der aktuellen Datei hinterlegt
strFile2 = "c:\aa\TAG_UP_07.01.2013.txt" 'NUR in Test
'******** Code für Shell Ausführung
strCommand = "C:\Program Files (x86)\Mozilla Thunderbird\Thunderbird.exe"
strCommand = strCommand & " -compose " & Chr(34) & "mailto:" & strAn & "?"
strCommand = strCommand & "subject=" & Chr(34) & strBetr & Chr(34) & "&"
strCommand = strCommand & "body=" & Chr(34) & strBody & Chr(34) & "&"
strCommand = strCommand & "attachment=" & "C:\aa\TAG_UP_L064_07.01.2013.txt"""
'alternativ könnte man mit file:/// arbeiten ... klappt nicht (?)
'strCommand = strCommand & "attachment=file:///" & Replace(strFile2, "\", "/") ' '& "&" '& "',"  _
'strCommand = strCommand & "attachment=""""strFile2""""
Call Shell(strCommand, vbNormalFocus)
End Sub

Habt Ihr eine gute Idee, wie der Code aussehen müsste, damit der Anhang mitgenommen wird ?
vielen Dank für eure Hilfe

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA : eMail aus Excel in Thunderbird
13.01.2013 14:48:24
Hajo_Zi
die Antwort im anderem Forum hat Dir wohl nicht zugesagt, da Du da lesen hättest müssen.
Ich habe Sie jetzt gelöscht.
Gruß Hajo

AW: VBA : eMail aus Excel in Thunderbird
13.01.2013 14:54:29
Marc
Hallo Hajo,
deine Antwort hatte ich gelesen, aber dein Hinweis auf Google hatte mir nicht viel gebracht
hab da bereits einige Stunden investiert ...
da nehm ich mir halt die Freiheit in einem anderen Forum zu fragen, auch wenn dies "nicht gerne gesehen ist"
vG
Marc

Anzeige
eMail aus Excel in Thunderbird
13.01.2013 15:44:06
Anton
Hallo Marc Warny (Wamalu, wamalu ...),
siehe hier
mfg Anton

AW: eMail aus Excel in Thunderbird
13.01.2013 16:51:12
Marc
Hi Anton,
da war ich schon :(
als "strCommand" hatte ich bereits
C:\Program Files (x86)\Mozilla Thunderbird\Thunderbird.exe -compose "mailto:mailadresse@yahoo. _
de;mailadresse@hotmail.com?subject="Abrechnung
Beleg"&body="Abrechnung Beleg vom
07.01.2013"&attachment=file:///C:/aa/Abrechnung_UP_L064_07.01.2013.txt

C:\Program Files (x86)\Mozilla Thunderbird\Thunderbird.exe -compose "mailto:mailadresse@yahoo. _
de;mailadresse@hotmail.com?subject="Abrechnung
Beleg"&body="Abrechnung Beleg vom
07.01.2013"&attachment='file:///C:/aa/Abrechnung_UP_L064_07.01.2013.txt'

C:\Program Files (x86)\Mozilla Thunderbird\Thunderbird.exe -compose "mailto:mailadresse@yahoo. _
de;mailadresse@hotmail.com?subject="Abrechnung
Beleg"&body="Abrechnung Beleg vom
07.01.2013"&attachment=c:\aa\Abrechnung_UP_L064_07.01.2013.txt"
C:\Program Files (x86)\Mozilla Thunderbird\Thunderbird.exe -compose "mailto:mailadresse@yahoo. _
de;mailadresse@hotmail.com?subject="Abrechnung
Beleg"&body="Abrechnung Beleg vom
07.01.2013"&attachment='c:\aa\Abrechnung_UP_L064_07.01.2013.txt'"

C:\Program Files (x86)\Mozilla Thunderbird\Thunderbird.exe -compose "mailto:mailadresse@yahoo. _
de;mailadresse@hotmail.com?subject="Abrechnung
Beleg"&body="Abrechnung Beleg vom
07.01.2013"&attachment='file:///c:\aa\Abrechnung_UP_L064_07.01.2013.txt',"
aber keine der Schreibweisen funktioniert
vG
Marc

Anzeige
eMail aus Excel in Thunderbird
13.01.2013 17:35:53
Anton
Hallo Marc,
ungetestet:
Sub b()
strTh = "C:\Program Files (x86)\Mozilla Thunderbird\Thunderbird.exe "
strCommand = "-compose to='mailadresse@yahoo.de,mailadresse@hotmail.com'" & _
",subject='Abrechnung Beleg',body='Abrechnung Beleg vom 07.01.2013'" & _
",attachment='file:///C:/aa/Abrechnung_UP_L064_07.01.2013.txt'"
Shell strTh & strCommand, vbNormalFocus
End Sub

mfg Anton

Anzeige
AW: eMail aus Excel in Thunderbird
13.01.2013 18:20:08
Marc
Hallo Anton,
das klappt SUPER !!
vielen herzlichen Dank für die prompte Hilfe
vG
Marc

Nachfrage: eMail aus Excel in Thunderbird
13.01.2013 20:04:39
ing.grohn
Hallo Marc, hallo Anton
das sieht ja nicht schlecht aus!
was muß denn noch gemacht werden, damit die auch automatsich versandt werden?
Mit freundlichen Grüßen
Albrecht

Anzeige
AW: Nachfrage: eMail aus Excel in Thunderbird
17.01.2013 16:42:58
Marc
Hi Albrecht,
die Sub sieht folgendermassen aus ...
Private Sub SendMailThunder_Click()
Dim strEmpfaenger1 As String
Dim strEmpfaenger2 As String
Dim strAn As String
Dim strBetr As String
Dim strBody As String
Dim strAttPfad As String
Dim strTh As String
Dim strCommand As String
strEmpfaenger1 = Range("O19").Value     'Mailadressen in Zelle definiert
strEmpfaenger2 = Range("O20").Value		'Mailadressen in Zelle definiert
strAn = strEmpfaenger1 & ";" & strEmpfaenger2 	'mehrere Empfänger durch Semikolon trennen!
strBetr = "Abrechnungbeleg Beleg"
strBody = "Abrechnungbeleg Beleg vom " & Mid(strFile2, 19, 10)
strTh = "C:\Program Files (x86)\Mozilla Thunderbird\Thunderbird.exe "
strCommand = strCommand & " -compose " & "to=" & Chr(34) & strAn & Chr(34)
strCommand = strCommand & ",subject=" & Chr(34) & strBetr & Chr(34)
strCommand = strCommand & ",body=" & Chr(34) & strBody & Chr(34)
strCommand = strCommand & ",attachment=" & "file:///" & Replace(strFile2, "\", "/")
Shell strTh & strCommand, vbNormalFocus
''original
''strTh = "C:\Program Files (x86)\Mozilla Thunderbird\Thunderbird.exe "
''strCommand = "-compose to='empf1@mail,empf2@mail'" & _
''    ",subject='Abrechnung Beleg',body='Abrechnung Beleg vom 07.01.2013'" & _
''    ",attachment='file:///C:/aa/Beleg_UP_L064_07.01.2013.txt'"
''Shell strTh & strCommand, vbNormalFocus
End Sub

Anzeige
;
Anzeige

Infobox / Tutorial

E-Mails aus Excel mit Thunderbird versenden


Schritt-für-Schritt-Anleitung

Um E-Mails aus Excel über Thunderbird zu versenden, kannst Du den folgenden VBA-Code verwenden. Dieser öffnet Thunderbird und füllt die E-Mail-Felder automatisch aus. Achte darauf, dass der Pfad zu Thunderbird korrekt ist.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu (Einfügen > Modul).
  3. Kopiere den folgenden Code in das Modul:
Private Sub SendMailThunder_Click()
    Dim strEmpfaenger1 As String
    Dim strEmpfaenger2 As String
    Dim strAn As String
    Dim strBetr As String
    Dim strBody As String
    Dim strFile2 As String
    Dim strTh As String
    Dim strCommand As String

    strEmpfaenger1 = Range("O19").Value ' Mailadressen in Zelle definiert
    strEmpfaenger2 = Range("O20").Value ' Mailadressen in Zelle definiert
    strAn = strEmpfaenger1 & ";" & strEmpfaenger2 ' mehrere Empfänger durch Semikolon trennen!
    strBetr = "Abrechnungsbeleg"
    strBody = "Tagesbeleg vom " & Mid(strFile2, 19, 10)
    strFile2 = "C:\aa\TAG_UP_07.01.2013.txt" ' Beispiel für den Anhang

    strTh = "C:\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe"
    strCommand = "-compose to='" & strAn & "',subject='" & strBetr & "',body='" & strBody & "',attachment='file:///" & Replace(strFile2, "\", "/") & "'"

    Shell strTh & " " & strCommand, vbNormalFocus
End Sub
  1. Stelle sicher, dass die E-Mail-Adressen in den Zellen O19 und O20 stehen.
  2. Führe das Makro aus, um die E-Mail zu erstellen.

Häufige Fehler und Lösungen

  • Problem: Der Anhang wird nicht hinzugefügt.

    • Lösung: Überprüfe den Pfad des Anhangs. Stelle sicher, dass der Pfad korrekt ist und der Anhang existiert. Verwende file:/// vor dem Pfad.
  • Problem: Thunderbird öffnet sich, aber die E-Mail wird nicht ausgefüllt.

    • Lösung: Überprüfe die Syntax im strCommand. Achte darauf, dass alle Parameter korrekt formatiert sind.

Alternative Methoden

Falls Du eine andere Methode zur Automatisierung von E-Mails in Thunderbird nutzen möchtest, kannst Du auch die Thunderbird API verwenden oder eine externe Bibliothek für die Automatisierung in Betracht ziehen.

Zudem kannst Du mit der SendKeys-Methode in VBA experimentieren, um Tastenanschläge direkt an Thunderbird zu senden.


Praktische Beispiele

Hier sind einige praktische Beispiele für die Verwendung des Codes:

' Beispiel für mehrere Empfänger
strAn = "empfänger1@example.com;empfänger2@example.com"

' Beispiel für einen anderen Anhang
strFile2 = "C:\Dokumente\Beleg.pdf"

Du kannst den Code anpassen, um verschiedene Anhangs- und E-Mail-Inhalte zu testen.


Tipps für Profis

  • Testen: Teste Deine Makros immer in einer sicheren Umgebung, um unerwünschte E-Mails zu vermeiden.
  • Fehlerbehandlung: Füge Fehlerbehandlungsroutinen hinzu, um Probleme beim Senden von E-Mails zu identifizieren.
  • Dokumentation: Dokumentiere Deine Codeänderungen, um später leichter nachvollziehen zu können, was geändert wurde.

FAQ: Häufige Fragen

1. Kann ich auch Hotmail-Adressen verwenden? Ja, Du kannst Hotmail-Adressen in das strAn-Feld einfügen, genau wie jede andere E-Mail-Adresse.

2. Funktioniert das auch mit anderen Versionen von Thunderbird? Ja, solange der Pfad zu thunderbird.exe korrekt ist, sollte der Code mit verschiedenen Versionen von Thunderbird funktionieren. Achte darauf, die richtige 32-Bit oder 64-Bit Version zu verwenden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige