Rubrik: VBA Allgemein | VB-Versionen: VBA | 08.09.01 |
EMail mit Anhang unter VBA Ein Beispielcode, wie sich EMails mit Anlagen unter VBA (Word/Excel/Access) versenden lassen. | ||
Autor: Günter | Bewertung: | Views: 75.443 |
www.derhuber.com | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Der nachfolgende Beispielcode zeigt,wie sich EMails mit Anlagen unter VBA (Word/Excel/Access) per Knopfdruck versenden lassen. Benötigt wird in jedem Fall Microsoft Outlook.
z.B. in Excel2000
- Einen Button in Excel erstellen
- In VBA wechseln (ALT+F11) und nachfolgenden Code ins Modul kopieren
- Unter Extras/Verweise... / Verfügbare Verweise folgende Eintrag aktivieren:
"Mircosoft Outlook 9.0 Object Library" (MSOUTL9.OLB) - Speichern
- Ausprobieren
Sub Schaltfläche1_BeiKlick() ' Aufruf Unterprogramm "senden" Call senden End Sub ' --------------------------------------------------------------- Private Sub senden() ' Outlook Applikation Dim ool As Outlook.Application Dim oInspector As Outlook.Inspector Dim oMail As Outlook.mailitem Dim myattachments As Variant ' Für Inputbox "EMailadresse-Änderung" Dim Mldg, Titel, Voreinstellung, MailAdress ' Adresse anzeigen und Änderung ermöglichen Mldg = "Ist die angegebene Emailadresse richtig?" Titel = "Mailadresse" Voreinstellung = "liste@chello.at" MailAdress = InputBox(Mldg, Titel, Voreinstellung) ' Wurde Abbrechen gedrückt, dann alles beenden If MailAdress = "" Then Exit Sub ' Verweis zu Outlook + neue Nachricht Set ool = CreateObject("Outlook.Application") Set oMail = ool.CreateItem(olMailItem) Set myattachments = oMail.Attachments ' Befreff-Zeile oMail.Subject = "Stand dieser Liste: " & _ Format(Date, "Long Date") & " !" ' An-Zeile (Empfänger) oMail.To = MailAdress ' "g.huber@unilog.at" oMail.Recipients.ResolveAll oMail.Display ' Texteingabe (Nachricht selbst) oMail.Body = "Hier die Exceldatei, bitteschön..." ' Anhang ' Nachfolgend ein Beispiel. Suchen Sie sich eine Datei auf ' Ihrem Rechner aus - vollständiger Pfad muß mitangegeben ' sein. ' Es können auch weitere Dateien angegeben werden. ' Hierzu einfach mit myattachments.Add "???" fortsetzen. myattachments.Add "D:\Eigene Dateien\Beispiel.xls" ' Speicher freigeben Set ool = Nothing Set oInspector = Nothing Set oMail = Nothing End Sub