Thunderbird-Workshop - Teil 1 - Dateien anhängen

Dieser Teil baut auf "Thunderbird-Workshop - Grundlagen" auf.

In diesem Beispiel wollen wir die aktuelle Datei als Email anhängen.
Public Sub SendActiveWorkbookWithTunderbird()

Rem Aktive Datei speichern
ActiveWorkbook.Save

Rem Inhalt der Email zusammenstellen. Aktive Datei wird angehängt
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 = ActiveWorkbook.FullName
End With

Call CreateThunderbirdEmailObject
End Sub


In diesem Beispiel wollen wir ein Tabellenblatt als PDF-Datei exportieren und diese PDF-Datei anhängen. Hier wurde eine Wartezeit integriert, damit Thunderbird genügend Zeit hat die PDF-Datei anzuhängen bevor selbige wieder gelöscht wird.
#If Win64 And VBA7 Then
Public Declare PtrSafe Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
#Else
Public Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
#End If

Public Sub SendActiveWorkbookAsPDFWithTunderbird()
Dim strPDFFile As String

Rem Pfad und Name für PDF-Datei
strPDFFile = Environ("USERPROFILE") & "\Desktop\" & ThisWorkbook.ActiveSheet.Name & ".pdf"

Rem PDF-Datei erstellen
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strPDFFile, Quality:=xlQualityStandard, _
                                IncludeDocProperties:=False, IgnorePrintAreas:=True, _
                                OpenAfterPublish:=False

Rem Inhalt der Email zusammenstellen. Aktive Datei wird angehängt
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 = strPDFFile
End With

Rem Email erstellen
Call CreateThunderbirdEmailObject

Rem Warten
Sleep 1000

Rem PDF-Datei löschen
Kill strPDFFile

End Sub


In diesem Beispiel wollen wir einen Zellbereich (A1 bis D4) als PDF-Datei exportieren und diese PDF-Datei anhängen. Hier wurde eine Wartezeit integriert, damit Thunderbird genügend Zeit hat die PDF-Datei anzuhängen bevor selbige wieder gelöscht wird.
#If Win64 And VBA7 Then
Public Declare PtrSafe Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
#Else
Public Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
#End If

Public Sub SendRangesAsPDFWithTunderbird()
Dim strPDFFile As String

Rem Pfad und Name für PDF-Datei
strPDFFile = Environ("USERPROFILE") & "\Desktop\" & ThisWorkbook.ActiveSheet.Name & ".pdf"

Rem PDF-Datei erstellen
ActiveSheet.Range("A1:D4").ExportAsFixedFormat Type:=xlTypePDF, Filename:=strPDFFile, Quality:=xlQualityStandard, _
                                IncludeDocProperties:=False, IgnorePrintAreas:=True, _
                                OpenAfterPublish:=False


Rem Inhalt der Email zusammenstellen. Aktive Datei wird angehängt
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 = strPDFFile
End With

Rem Email erstellen
Call CreateThunderbirdEmailObject

Rem Warten
Sleep 1000

Rem PDF-Datei löschen
Kill strPDFFile

End Sub