Hallo
Wenn ich manuell über Datei/Senden an/Email-Epfänger gehe funktioniert der Spaß übrigens; daran dass "Outlook Express" kein echter MAPI E-Mail-Client ist, kann es also doch nicht liegen, oder?
ja, doch, sicher, siehe mein Archivposting.
Mit deinem Code bekomme ich die gleiche Fehlermeldung :-(
sag' ich doch. Schrieb' ich doch. Steht überall groß MAPI dabei
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.
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
Freundliche Grüße
Vinzenz