zwerg: VBA - SendMail() funktioniert nicht

Beitrag lesen

sag' ich doch. Schrieb' ich doch. Steht überall groß MAPI dabei

In den verlinkten archivierten Thread war von Outlook-Express die Rede, deshalb habe ich dich so verstanden, dass mein Code mit Express nicht funktioniert, deiner jedoch schon.

Was gibt Dir

debug.print Me.Application.MailSystem

im Direktbereich aus?
Es gibt drei Konstanten:

xlNoMailSystem
xlMAPI
xlPowerTalk

Wenn Du xlNoMailSystem erhältst (bei meinem Excel 2007 wäre das der Wert 0),
dann hast Du kein verwendbares Mailsystem - so einfach ist das.

"0"

Folgender Code (im Modul des Workbook-Objektes) sollte es tun:

Public Sub MapiSendMail()
    Dim xlWB As Workbook

On Error GoTo Err_Sub

' Überprüfe das vorhandene Mailsystem
    ' Mailversand ist nur mit MAPI möglich
    ' Mailversand ist nur mit MAPI möglich
    ' Mailversand ist nur mit MAPI möglich
    ' Mailversand ist nur mit MAPI möglich
    ' Mailversand ist nur mit MAPI möglich

Select Case Me.Application.MailSystem
    Case xlNoMailSystem
        MsgBox "Kein verwendbares Mailsystem vorhanden"
        Exit Sub
    Case xlPowerTalk
        MsgBox "Entsorgen Sie Ihren Mac, kaufen Sie sich einen PC :-)"
        ' In diesem Fall müsste man die Methode SendMailer verwenden
        Exit Sub
    Case xlMAPI
        MsgBox "Wunderbar, Mailversand über MAPI geht."
    Case Else
        MsgBox "Du bist mir unbekannt, ich kann Dich nicht nutzen"
        Exit Sub
    End Select

' 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

Bitte beachte: Bei dieser Prozedur gilt:

' Mailversand ist nur mit MAPI möglich
    ' Mailversand ist nur mit MAPI möglich
    ' Mailversand ist nur mit MAPI möglich

Soweit einen Code für einen MAPI-Client zu erstellen war ich ja schon. Mit der Fehlermeldung ist das ganze jetzt zwar runder, aber mein Problem kriege ich so auch nicht gelöst.

Vielen Dank für deine Hilfe Vinzenz. Danke insbesondere für deine Geduld, da ich dich nicht sofort richtig verstanden hab.

Werde nun davon Abstand nehmen, die Tippabgabe aus Excel zu ermöglichen und ein "einfaches" online Formular nehmen.

Freundliche Grüße

zwerg Alex