Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Standardmailprogramm über Word feststellen

Gruppe

Word

Problem

Es soll festgestellt werden, welches Standard-Mailprogramm festgelegt wurde. Da Excel-VBA eine solche Abfrage nicht vorsieht, erfolgt sie über eine WordInstanz.

Lösung
Geben Sie den nachfolgenden Code in ein Standardmodul ein und weisen Sie ihn einer Schaltfläche zu.

StandardModule: Modul1

Sub ReadRegistry()
   Dim appWd As Object
   Dim iTrenner As Integer
   Dim ID As String
   Set appWd = CreateObject("Word.Application")
   ID = appWd.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
   Set appWd = Nothing
   If Right(ID, 1) = Chr(34) Then ID = Left(ID, Len(ID) - 1)
   MsgBox ID
End Sub