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

Forumthread: Tabellenblatt mit Thunderbird versenden

Tabellenblatt mit Thunderbird versenden
17.08.2006 09:58:03
Düppi
Liebe VBA-Profis,
ich möchte per Makro das aktuell ausgewählte Tabellenblatt an einen bestimmten Verteiler versenden. Der Mail-Client soll Thunderbird sein. Die Betreffzeile sollte sich irgendwo eingeben llassen. Schön wäre eine Messagebox "Wollen Sie die Datei wirklich versenden?". Betriebssystem ist Windows 2000 Professional.
Wer weiß hier Rat?, fragt und grüßt Düppi.
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblatt mit Thunderbird versenden
17.08.2006 10:33:17
stefanseevetal
Moin Düppi!
Ich bin mir nicht sicher und lasse der Thread nochmal offen, aber ich glaube nicht, dass das geht.
Da Thunderbird keine Office-Anwendung bzw. von Microsoft ist und VBA sich meines Wissens nur für die Programmierung unter Office konzipiert ist, dürfte es eigentlich keine "Schnittstelle" zu Thunderbird geben. Dein Vorhaben würde daher wohl nur mit Outlook funktionieren.
Gruß,
Stefan
Anzeige
AW: Tabellenblatt mit Thunderbird versenden
17.08.2006 11:35:10
Düppi
Hallo Stefan,
nun gut, dann würde ich auf Outlook umsteigen! Wir würde es denn dann gehen, fragt Düppi.
AW: Tabellenblatt mit Thunderbird versenden
17.08.2006 12:25:52
stefanseevetal
Hallo Düppi!
Hier ein Beispiel, wie es bei mir läuft. Ich hatte vor ein paar Wochen eine ähnliche Frage gepostet und netterweise hier im Forum diesen Code erhalten.

Sub NachrichtVersenden()
Dim Nachricht As Object, OutApp As Object
Dim SavePath As String
Dim istOffen As Boolean
Dim AWS As String
Dim SName As String
Dim Abfrage as String
Abfrage = MsgBox("Wollen Sie die e-Mail wirklich senden?", vbQuestion + vbYesNo, "Achtung")
If Abfrage = vbNo Then Exit Sub
SName = ActiveSheet.Name
' Die aktuelle Schadensmeldung wird in eine separate Datei kopiert, um diese später zu senden.
On Error GoTo ERRORHANDLER
SavePath = ThisWorkbook.Path
On Error Resume Next
Set OutApp = GetObject(, "Outlook.Application")
If Err.Number = 429 Then
Set OutApp = CreateObject("Outlook.application")
istOffen = False
End If
istOffen = True
On Error GoTo ERRORHANDLER
' Name unter der das kopierte Tabellenblatt gespeichert wird:
AWS = SavePath & "\" & "Test "& SName & ".xls"
ActiveSheet.Copy
ActiveWorkbook.SaveAs AWS
ActiveWorkbook.Close
' Die kopierte Datei wird per Outlook gesendet.
InitializeOutlook = True
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = klaus@test.de
.CC = muster@test.de
.Subject = "Test " & SName & " " & Date & " " & Time
.Attachments.Add AWS
.HTMLBody = "Im Anhang erhalten Sie ?!" & vbCrLf  & SName
'.Display                                   ' die Mail wird vorm Senden angezeigt.
.OriginatorDeliveryReportRequested = True   ' Übermittlungsbestätigung
.ReadReceiptRequested = True                ' Lesebestätigung
.Send                                       ' Die Mail wird automatisch gesendet.
Kill AWS                                    ' Das kopierte Tabellenblatt wird gelöscht.
End With
' Outlook wird geschlossen, wenn es vorher nicht offen war.
If Not istOffen Then
OutApp.Quit
End If
Set OutApp = Nothing
Set Nachricht = Nothing
Exit Sub
ERRORHANDLER:
MsgBox "Bei der Übermittlung ist ein Fehler ausgetreten! Die E-Mail konnte nicht gesendet werden. Bitte überprüfen Sie, ob Outlook richtig konfiguriert ist!", vbExclamation, "Achtung"
Kill AWS
Exit Sub
End Sub

Gruß,
Stefan
Anzeige
AW: Tabellenblatt mit Thunderbird versenden
17.08.2006 16:18:24
Düppi
Hallo Stefan,
sorry, dass ich mich erst jetzt melde - der Chef...
Es hängt beim Debuggen an dieser Stelle
With Nachricht
.To = klaus@test.de
.CC = muster@test.de
Klar, ich hatte schon die richtigen Mailadressen eingetragen.
Was kann es sein, dass VBA Fehler beim Kompilieren mit Syntaxfehler meldet?
Gruß Düppi
Anzeige
AW: Tabellenblatt mit Thunderbird versenden
21.08.2006 07:09:21
stefanseevetal
Moin Düppi!
Sorry, ich hatte ein langes Wochenende! Da hab ich ja auch mal wieder was dazugelernt. Hät nicht gedacht, dass es mit Thunderbird auch geht. Hast Du es hinbekommen?
Zu Deiner Frage, falls noch relevant: Mein Fehler, die e-Mail-Adressen gehören natürlich in Anführungszeichen ("klaus@test.de").Gruß,
Stefan
Anzeige
AW: Tabellenblatt mit Thunderbird versenden
21.08.2006 10:45:23
Düppi
Hallo Stefan,
kleine Ursache, große Wirkung - so klappt es. Allerdings nur mit Outlook. Keine Ahnung, wie ich Thunderbird statt dessen ans Laufen bekomme.
Dennoch vielen Dank, Gruß aus Oelde, Düppi
AW: Tabellenblatt mit Thunderbird versenden
Orakel
Hallo Düppi,
so kannst Du mit Thunderbird Zelleninhalt versenden. Vielleicht kann man darauf aufbauen.
https://www.herber.de/bbs/user/35909.xls
Grüße, Orakel
Anzeige
AW: Tabellenblatt mit Thunderbird versenden
17.08.2006 19:11:39
Düppi
Hallo Orakel,
besten Dank, ich werde mal damit experimentieren. Gruß Düppi
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Tabellenblatt mit Thunderbird versenden


Schritt-für-Schritt-Anleitung

Um ein Tabellenblatt aus Excel über Thunderbird zu versenden, kannst du VBA verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu:

    • Klicke im Menü auf „Einfügen“ und dann auf „Modul“.
  3. Kopiere den folgenden VBA-Code in das Modul:

    Sub NachrichtVersenden()
        Dim Nachricht As Object
        Dim ThunderbirdPath As String
        Dim SavePath As String
        Dim Abfrage As String
        Dim SName As String
        Abfrage = MsgBox("Wollen Sie die e-Mail wirklich senden?", vbQuestion + vbYesNo, "Achtung")
        If Abfrage = vbNo Then Exit Sub
    
        SName = ActiveSheet.Name
        SavePath = ThisWorkbook.Path & "\" & "Test " & SName & ".xls"
        ActiveSheet.Copy
        ActiveWorkbook.SaveAs SavePath
        ActiveWorkbook.Close
    
        ' Thunderbird Befehl zum Versenden
        ThunderbirdPath = "C:\Program Files\Mozilla Thunderbird\thunderbird.exe"
        Shell ThunderbirdPath & " -compose ""to='klaus@test.de',cc='muster@test.de',subject='Test " & SName & "',body='Im Anhang erhalten Sie ?!'" & SavePath & """", vbNormalFocus
    
        Kill SavePath ' Lösche die temporäre Datei
    End Sub
  4. Passe die E-Mail-Adressen und den Betreff an deinen Bedarf an.

  5. Führe das Makro aus, indem du F5 drückst oder über das Menü „Ausführen“ -> „Sub/UserForm ausführen“ gehst.

Beachte, dass dies nur funktioniert, wenn Thunderbird auf deinem Computer installiert ist.


Häufige Fehler und Lösungen

  • Fehler: "Kann Thunderbird nicht finden"

    • Stelle sicher, dass der Pfad zu Thunderbird korrekt ist. Überprüfe den Installationspfad in den Einstellungen.
  • Fehler: "Syntaxfehler"

    • Überprüfe, ob die E-Mail-Adressen in Anführungszeichen gesetzt sind. Z.B. "klaus@test.de".
  • Fehler: "Thunderbird später senden funktioniert nicht"

    • Diese Funktionalität wird nicht direkt unterstützt. Du könntest eine E-Mail-Entwurf erstellen, den du manuell später senden musst.

Alternative Methoden

Falls du Schwierigkeiten hast, mit Thunderbird zu arbeiten, kannst du auch auf Outlook umsteigen. Outlook bietet eine direkte VBA-Integration und viele Optionen wie die Lesebestätigung oder die Übermittlungsbestätigung.


Praktische Beispiele

Ein einfaches Beispiel für das Versenden einer E-Mail mit Thunderbird:

Shell "C:\Program Files\Mozilla Thunderbird\thunderbird.exe -compose ""to='email@example.com',subject='Betreff',body='Nachrichtinhalt'""", vbNormalFocus

Wenn du mehrere E-Mail-Adressen oder CC hinzufügen möchtest, kannst du die Parameter anpassen.


Tipps für Profis

  • Lesebestätigung Thunderbird aktivieren: Stelle sicher, dass du die entsprechenden Einstellungen in Thunderbird vornimmst, um Lesebestätigungen zu erhalten.
  • Batch-Prozesse: Du kannst mehrere Tabellenblätter in einer Schleife durchlaufen und sie nacheinander versenden.
  • Thunderbird nach Datum sortieren: Überlege, wie du die gesendeten E-Mails nach Datum sortieren kannst, um die Übersichtlichkeit zu erhöhen.

FAQ: Häufige Fragen

1. Kann ich auch mit Thunderbird eine Lesebestätigung anfordern? Ja, dies ist möglich, aber die Funktionalität kann je nach Version variieren.

2. Gibt es eine Möglichkeit, die E-Mails automatisch zu versenden? Das automatische Versenden von E-Mails erfordert eine spezifische Konfiguration und eventuell zusätzliche Add-Ons in Thunderbird.

3. Wie kann ich von Thunderbird auf Outlook umsteigen? Exportiere deine Kontakte und E-Mails aus Thunderbird und importiere sie in Outlook, um einen reibungslosen Übergang zu gewährleisten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige