Registriert seit: 14.04.2014
Version(en): Office 2016 32bit
Hallo zusammen,
ich würde gerne über VBA das Windows Standard Programm in Bezug auf den Webbrowser und das Emailprogramm auslesen.
Das habe ich bereits gefunden
Zitat:Code:
Environ("COMPUTERNAME") Name des Computers
Environ("HOMEDRIVE") Standardlaufwerk des Benutzers
Environ("OS") Betriebssystemversion
Environ("Path") Pfadangaben für Anwendungen
Environ("ProgramFiles") Pfad zum Programme-Ordner
Environ("SystemDrive") Laufwerk des Betriebssystems
Environ("SystemRoot") Pfad des Betriebssystems
Environ("TEMP") Pfad temporärer Ordner
Aber wie ich das Standard Programm "Webbrowser" oder "Email" auslesen kann finde ich einfach nichts. Kann mir vielleicht jemand helfen?
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallo Bernie,
in Abwandlung eines codes von vb-fun für den Browser:
Code:
Option Explicit
Private Declare Function FindExecutable Lib "shell32.dll" Alias _
"FindExecutableA" (ByVal lpFile As String, ByVal lpDirectory _
As String, ByVal lpResult As String) As Long
Private Function StandardBrowser(Browser As String) As String
Dim sExe As String
Dim tmpFile As String
Dim dNr As Integer
tmpFile = "C:\Test\xxx.html"
dNr = FreeFile
Open tmpFile For Output As #dNr
Close #dNr
sExe = ExePfad(tmpFile)
Kill tmpFile
If sExe <> "" Then
If InStr(LCase$(sExe), "iexplore") > 0 Then
Browser = "Microsoft Internet Explorer"
ElseIf InStr(LCase$(sExe), "netscape") > 0 Then
Browser = "Netscape Communicator"
ElseIf InStr(LCase$(sExe), "opera") > 0 Then
Browser = "Opera"
Else
Browser = "kein Browser installiert."
End If
End If
StandardBrowser = sExe
End Function
Private Function ExePfad(ByVal Datei As String) As String
Dim Pfad As String
Pfad = Space$(256)
FindExecutable Datei, vbNullString, Pfad
If Pfad <> "" Then
Pfad = Left$(Pfad, InStr(Pfad, vbNullChar) - 1)
End If
If UCase$(Pfad) = UCase$(Datei) Then Pfad = ""
ExePfad = Pfad
End Function
Private Sub Start()
Dim Browser As String
MsgBox StandardBrowser(Browser) & vbLf & Browser
End Sub
Der code müsste ggf. für weitere Browser erweitert werden. Für das emailprogramm wird es eventuell etwas komplexer. Wenn Du dieses Prinzip verwendest, müsstest Du die verschiedenen Erweiterungen der unterschiedlichen emailprogramme testen. Statt xxx.html dann also z.B. xxx.msg für Outlook usw.
Es gibt weitere Optimierungsmöglichkeiten. Den Part mit If InStr(LCase$(sExe)... brauchst DU z.B. auch nicht unbedingt ...
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 14.04.2014
Version(en): Office 2016 32bit
Hallo André,
Danke für deine Hilfe, wird ich morgen ausprobieren. Allerdings, wenn das alles zu kompliziert ist, überlege ich, ob nicht der User mir die Daten selber liefert.
Bitte keinen weiteren Stress machen :100: