Thunderbird-Workshop - Grundlagen
Option Private Module
Option Explicit
Public Type ThunderbirdEMail
EmailFormat As Long ' 1= HTML-Mail, 2 = Nur-Text-Mail. Standard = 2
SendenVonKonto As Long ' ID des Sendkontos. Standard = 1
Empfaenger As String
KopieAn As String
BlindKopieAn As String
Betreff As String
EMailText As String
Anhang As String
OptionalDateiPfad As String
End Type
Public NeueThunderbirdEMail As ThunderbirdEMail
Public Function CreateThunderbirdEmailObject(Optional ProgrammPfad As String = _
"C:\Program Files (x86)\Mozilla Thunderbird\Thunderbird.exe")
Rem Variablendeklaration
Dim strMailAufbau As String
Dim varAttachments As Variant
Dim lngAttachCount As Long
With NeueThunderbirdEMail
Rem Anzuhängende Dateien auflisten
varAttachments = Split(.Anhang, ";")
Rem Email aufbauen
strMailAufbau = ProgrammPfad & " -compose format=" & .EmailFormat & ",preselectid=id" & .SendenVonKonto & _
",to='" & .Empfaenger & "',subject='" & .Betreff & "',body='" & .EMailText
Rem Prüfen auf "Kopie senden an"
If .KopieAn <> "" Then
strMailAufbau = strMailAufbau & "',cc='" & .KopieAn
End If
Rem Prüfen auf "Blindkopie an"
If .BlindKopieAn <> "" Then
strMailAufbau = strMailAufbau & "',bcc='" & .BlindKopieAn
End If
Rem Prüfen auf "Anhang setzen"
If UBound(varAttachments) >= 0 Then
strMailAufbau = strMailAufbau & "',attachment='file:///" & .OptionalDateiPfad & varAttachments(0)
For lngAttachCount = 1 To UBound(varAttachments)
strMailAufbau = strMailAufbau & "," & .OptionalDateiPfad & varAttachments(lngAttachCount)
Next lngAttachCount
End If
strMailAufbau = strMailAufbau & "'"
Rem Email erstellen
Shell strMailAufbau, vbMaximizedFocus
End With
End Function
Zur Erklärung der Parameter im benutzerdefinierten Typ ThunderbirdEMail:
EmailFormat:
Das Emailformat (1= HTML-Mail, 2 = Nur-Text-Mail. Standard = 2). Der Parameter ist optional.
SendenVonKonto:
ID des Sendkontos. Standard = 1. Parameter ist optional.
Empfaenger:
Der/die Empfänger. Mehrere Empfänger sind durch Komma zu trennen.
KopieAn:
Kopie(en) an. Optional. Mehrere Empfänger sind durch Komma zu trennen.
BlindKopieAn:
Blindkopie(en) an. Optional. Mehrere Empfänger sind durch Komma zu trennen.
Betreff:
Der Betreff.
EMailText:
Der Email-Text.
Anhang:
Der/die Anhang/Anhänge. Mehrere Anhänge sind durch Semikolon zu trennen. Anhänge mit Pfadangaben (siehe auch "OptionalDateiPfad")
OptionalDateiPfad:
Optional. Damit man bei mehreren anzuhängenden Dateien nicht für jede Datei den Pfad im Parameter "Anhang" angeben muss setzt man den Pfad nur in diesen Parameter, im Parameter "Anhang" dann nur die Dateinamen. Voraussetzung ist dass sich alle anzuhängenden Dateien im selben Pfad befinden.
Wichtig: Die Funktion CreateThunderbirdEmailObject ist fertig konfiguriert und sollte nicht geändert werden.
Ein einfaches Beispiel für das Erstellen einer Email mit zwei Anhängen.
Public Sub NeueThunderbirdEmailErstellenB3()
Rem Inhalt der Email zusammenstellen
With NeueThunderbirdEMail
.EmailFormat = 1
.SendenVonKonto = 2
.Empfaenger = "empfaenger@example.com"
.Betreff = "Test"
.EMailText = "Hallo!<br><br>Nur ein Test.<br><br>Gruß,<br>Max"
.Anhang = "Test.pdf;Test.xlsb"
.OptionalDateiPfad = Environ("USERPROFILE") & "\Documents\"
End With
Call CreateThunderbirdEmailObject
End Sub
Erklärung zur Beispielprozedur:
Im Withblock NeueThunderbirdEMail werden die Variablen mit Inhalt gefüllt.
Mit Call CreateThunderbirdEmailObject wird die Funtion zum Erstellen der Email aufgerufen. Optional kann ein alternativer Pfad übergeben werden, wichtig wenn Sie z.B. auf einem 32-bit-System arbeiten auf dem der Standardpfad nicht gültig ist (Beispiel: Call CreateThunderbirdEmailObject("C:\Programme\Mozilla Thunderbird\Thunderbird.exe") )
Wie man den hier erwähnte benutzerdefinierten Typ und die Funktion erfolgreich einsetzen kann lernen wir in den nächsten Teilen. Alle folgenden Teile des Workshops bauen auf diesen Grundlagen auf.