Die Excel Wühlkiste

Aktives Workbook per VBA & Outlook versenden

Noch einfacher, als ein einzelnes Tabellenblatt zu versenden, ist es, gleich die ganze Mappe als E-Mail-Anhang zu verschicken. Denn hier ist es nicht notwendig, erst eine neue Datei zu erzeugen, wie wir es beim Versenden eines einzelnen Blattes gemacht haben.

Im Prinzip ist es der gleiche VBA-Code, der nur um die Zeilen, die zur Behandlung der neuen Mappe notwendig waren, gekürzt wurde. Aber auch hier müssen wir erst ein Outlook-Objekt erstellen, um Zugriff auf dieses Programm zu erhalten.
Der komplette Vorgang wird automatisiert, indem wir die für die Versendung relevanten Daten im Code unterbringen, oder sie an geeigneter Stelle auslesen.
Wichtig: Vor dem Versenden muss die Mappe gespeichert werden! Sonst werden geänderte Daten nicht mit verschickt.

Der hier vorgestellte Code ist ein Clone von Melanie Breden's Beitrag in der microsoft.public.de.excel-Newsgroup.

Sub Mappe_versenden_als_EMail()
' Verweis auf Microsoft Outlook Bibliothek setzen
Dim objOL As Object
Dim objMail As Object

Dim Bezeichnung As String ' 1) oder As Range
Dim MAdr As String ' 2) oder As Range

Set objOL = CreateObject("Outlook.Application")
Set objMail = objOL.CreateItem(0)

'Set Bezeichnung = [Tabelle1!G27] ' 1)
Bezeichnung = ActiveWorkbook.Name
'Set MAdr = [Tabelle1!A2] ' 2)
MAdr = "Test@t-online.de"

Application.ScreenUpdating = False

With objMail
.To = MAdr
.Subject = Bezeichnung
.Body = "Hallo Kollege"
.Attachments.Add ActiveWorkbook.FullName
.Display ' Display für Indirektversand oder .Send für Direktversand
End With

' Meldung:
MsgBox ("Tabelle wurde erfolgreich versendet.")

Application.Goto Sheets("Tabelle1").Range("A1")
Application.ScreenUpdating = True
End Sub
Die Excel Wühlkiste
Valid HTML 4.01 Strict
letzte Aktualisierung: 13.02.2009
Autor: Hubert Scheidgen / 04.02.2009
W3C CSS-Validierungsservice