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

Beitrag lesen

Guten Morgen,

also mit einem MAPI-fähigen Client :-)

Joa, wenn du das sagst :-)

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

  
Vielen Dank für deinen ausführlichen Code und die Kommentierung.  
Dieses Makro gibt bei mir (Excel 97) nur leider folgende Fehlermeldung aus:  
"Fehler beim Kompilieren: Unzulässige Verwendung des Schlüsselwortes Me."  
  

> Für Serienmail ohne so etwas wie "ClickYes" nicht verwendbar :-)  
> Ja, das ist gut so!  
  
Finde ich auch. Bei mir geht es darum, dass die Teilnehmer eines privaten Bundesliga-Tippspieles die von mir erstellten Tippformulare (je Spieltag ein Tabellenblatt) möglichst einfach ausgefüllt zurücksenden können.  
  
Freundlicher Gruß  
Alex