Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA: aktiven Browser (WinStandard) auslesen
#1
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?
Grüße aus Bremen
Bernie

"Wenn du jemanden triffst ohne lächeln, schenke ihm deins !!!"

MS Office 2016 Pro  32bit - Win 10 Pro 64 bit
Haftungshinweis: Trotz sorgfältiger inhaltlicher Kontrolle übernehmen ich keine Haftung für die Inhalte externer Links. Für den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.
Antworten Top
#2
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)
Antworten Top
#3
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:
Grüße aus Bremen
Bernie

"Wenn du jemanden triffst ohne lächeln, schenke ihm deins !!!"

MS Office 2016 Pro  32bit - Win 10 Pro 64 bit
Haftungshinweis: Trotz sorgfältiger inhaltlicher Kontrolle übernehmen ich keine Haftung für die Inhalte externer Links. Für den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste