vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: VBA Allgemein   |   VB-Versionen: VBA08.09.01
EMail mit Anhang unter VBA

Ein Beispielcode, wie sich EMails mit Anlagen unter VBA (Word/Excel/Access) versenden lassen.

Autor:   GünterBewertung:  Views:  75.443 
www.derhuber.comSystem:  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

  1. Einen Button in Excel erstellen
  2. In VBA wechseln (ALT+F11) und nachfolgenden Code ins Modul kopieren
  3. Unter Extras/Verweise... / Verfügbare Verweise folgende Eintrag aktivieren:
    "Mircosoft Outlook 9.0 Object Library" (MSOUTL9.OLB)
  4. Speichern
  5. Ausprobieren
Der Code ist entsprechend auskommentiert und erklärt sich somit von selbst.

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



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.