Vinzenz Mai: Excel - VBA-Prozedur, um Tabellenblatt per Email zu versenden.

Beitrag lesen

Hallo Alex,

mit welchem E-Mail-Client soll das funktionieren?

Ich dachte das ist unabhängig und das Script greift wie bei der manuellen Auswahl (Datei->Senden) auf dem als Standard festgelegten Client zurück.

also mit einem MAPI-fähigen Client :-)
Folgender Code (im Modul des Workbook-Objektes) sollte es tun:

  
Public Sub MapiSendMail()  
    Dim xlWB As Workbook  
  
    On Error GoTo Err_Sub  
  
    ' Kopiere das aktuelle Tabellenblatt in eine neue Arbeitsmapppe  
    Me.ActiveSheet.Copy  
  
    ' Greife auf diese neue Arbeitsmappe  
    Set xlWB = ActiveWorkbook  
  
    ' Versende Mail über MAPI - Bestätigung typischerweise erforderlich :-)  
    ' Anlage enthält eine Excel-Mappe Mappe<nr>.xls mit dem aktuellen Blatt  
    ' Mailbody ist leer - beste Voraussetzungen, um als Spam klassifiziert  
    ' zu werden.  
    xlWB.SendMail "max.mustermann@example.org", "Hier der Betreff"  
  
    ' Schließe die Datei, ohne Änderungen zu speichern  
    xlWB.Close False  
  
    ' Gebe Ressourcen frei  
    Set xlWB = Nothing  
  
    Exit Sub  
  
Err_Sub:  
    ' Primitive nichtfunktionale Fehler-"behandlung"  
    MsgBox Err.Number & vbCrLf & Err.Description  
    Exit Sub  
  
End Sub

Für Serienmail ohne so etwas wie "ClickYes" nicht verwendbar :-)
Ja, das ist gut so!

Freundliche Grüße

Vinzenz