Gruppe
Extern
Problem
Es soll festgestellt werden, welches Standard-Mailprogramm festgelegt wurde. Da Excel-VBA eine solche Abfrage nicht vorsieht, erfolgt sie über eine WordInstanz.
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