2
www.ChF-Online.de  

Mail aus VBA via API verschicken

   Neuigkeiten
   API-Aufrufe in VBA
   VBA2HTML
   Word
   Word-VBA
 Verschiedenes
 Feld-Arbeiten
 Form-Sachen
 Menü-/Symbolleisten
 VBA und Lotus Notes
aktiv aktiv VBA und Mail
 Standard-Mailprogramm
aktiv  Mailen via API
 Mailen via Lotus Notes
 Mailen via MAPI
 Inside VBAIDE
 Von Word nach Outlook
 Fix-und-Fertiges/Projekte
   Word2007 (RibbonX)
   Word2010 (RibbonX)
   Outlook-VBA
   Links zu VB(A)
   DocToHelp
   Netport Express XL
   Astronomie
   Gästebuch
   Volltextsuche
   Sitemap
   Buch:Word-Programmierung
   Impressum & Kontakt
   Datenschutzerklärung
Getestet unter Word97Getestet unter Word2000  
Makro/Datei speichern
Print

Es gibt diverse Möglichkeiten, aus Word bzw. VBA heraus eine Mail zu verschicken. So sollten z.B. die MailMerge-Funktionen im Zusammenhang mit MS Outlook verwendet werden.
Soll hingegen eine Mail über das registrierte MAPI-Programm verschickt werden, z.B.  AK-Mail, dann lässt sich das mit dem API-Aufruf  ShellExecute erreichen.
Diesem API wird der E-Mail-Empfänger, der Betreff und je nach Programm erfolgreich der Mail-Text mitgegeben.

Einschränkung:
Es kann auf diese Weise kein Dateianhang mitangegeben werden. Dazu muss dann wieder auf die MailMerge-Funktion zurückgegriffen werden.


1    Private Declare Function ShellExecute Lib "shell32.dll" _
     Alias "ShellExecuteA" (ByVal hWnd As Long, _
         ByVal lpOperation As String, _
         ByVal lpFile As String, ByVal _
         lpParameters As String, _
         ByVal lpDirectory As String, _
         ByVal nShowCmd As Long) As Long 
2    Private Const SW_SHOW = 5
3    Sub Mailen()
4    Dim sTo, sSubject, sBody As String 
5    sTo = "xy@xyz.abc"
6    sSubject = "Betreff"
7    sBody = "Dieses steht im Mail-Text"
8    ShellExecute hWnd, "open", "mailto:" & sTo & _
     " ?Subject=" & sSubject & " &Body=" & sBody, _
     vbNullString, vbNullString, SW_SHOW
9    'DoEvents 
10   End Sub 

 Besucher: 0 online  |  0 heute  |  0 diesen Monat  |  2202291 insgesamt | Seitenaufrufe: 46   Letzte Änderung: 24.06.2006 © 2001-18 Christian Freßdorf
  Wer eine Lüge sagt, merkt nicht, welch große Aufgabe er übernimmt; denn er wird gezwungen sein, zwanzig weitere zu finden, um diese eine aufrechtzuerhalten.
Franz VII, Herzog von La Rochefoucauld
 powered by phpCMS and PAX