Aktuelle Seite:
/vba/standardmailer.htm
Letzte Änderung: 24.06.2006

Getestet unter Word97Getestet unter Word2000  
Beispiel anzeigen
Makro/Datei speichern
Print

Es gibt verschiedene Möglichkeiten aus Word heraus E-Mails zu verschicken. In allen Fällen wird das im System registrierte Mailprogramm zugegriffen.

Mit einem kleinen Makro kann diese Einstellung aus der Registry ausgelesen werden, Zugriffsrechte auf die Registrierungsdateien vorausgesetzt.
Dazu wird der Zweig HLM\SOFTWARE\Classes\mailto ausgelesen, in dem Windows das Standard-Mailprogramm einträgt.

Mit folgendem Makro wird dieser Eintrag ausgelesen und analysiert, da je nach Betriebssystem der Programmpfad mittels Umgebungsvariablen gesetzt wird.

Sub Standardmailer()  
Dim ID As String 
Dim iTrenner As Integer
ID = System.PrivateProfileString("", _
"HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mailto\shell\open\command", "")
iTrenner = InStr(1, ID, ".exe", vbTextCompare)
ID = Left(ID, iTrenner + 4)
If InStr(1, ID, "%ProgramFiles%") > 0 Then 
  iTrenner = InStr(1, ID, "%ProgramFiles%")
  ID = Right(ID, Len(ID) - iTrenner - Len("%ProgramFiles%"))
  ID = Environ("ProgramFiles") & "\" & ID
ElseIf InStr(1, ID, "%SystemDrive%") > 0 Then 
  iTrenner = InStr(1, ID, "%ProgramFiles%")
  ID = Right(ID, Len(ID) - iTrenner - Len("%SystemDrive%"))
  ID = Environ("SystemDrive") & "\" & ID
End If 
If Right(ID, 1) = Chr(34) Then ID = Left(ID, Len(ID) - 1)
antw = MsgBox("Ihr Standard-Mailprogramm ist: " & vbCrLf & ID, _
  vbInformation, "Standard-Mailprogramm")
End Sub 

Dieses Makro läuft unter

  • Windows NT 4, Windows 2000
  • Word 97 (SP2), Word 2000 (SR1)


 www.chf-online.de/vba/standardmailer.htm © 2001-11 Christian Freßdorf (Zaphod-Systems)