Hi Roger,
allerdings setzt das nat. vorraus, das nicht nur der ie installiert ist, sondern auch direkt an dieser stelle. vielleicht gibt es ja noch einen anderen befehl...
Den Pfad zum Standardbrwoser kannst Du herausbekommen, indem Du das Script von http://www.vb-fun.de/cgi-bin/loadframe.pl?ID=vb/tipps/tip0072.shtml verwendest. Ich habe es Dir mal angepaßt:
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() As String
Dim sExe As String
Dim tmpFile As String
Dim dNr As Integer
tmpFile = Application.Path + IIf(Right$(Application.Path, 1) <> "", "", "") + "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
Sub test()
Dim strBrowserPfad As String
strBrowserPfad = StandardBrowser
MsgBox strBrowserPfad
End Sub
Mit der Funktion StandardBrowser kriegst Du den Pfad und kannst den in Shell verwenden. Es wird zwar nur 8.3 verwendet, aber es müßte auch funktionieren. Getestet habe ich es allerdings nicht ;-)
(ich weiss ja nicht, wie du in deinem html.xls beispiel das browserfenster ahst öffnen können...)
Das waren zwei Zeilen Code:
ActiveSheet.Hyperlinks.Add Anchor:=Range(strAdresse), Address:="C:\test.html"
Range(strAdresse).Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Dadurch ruft VBA den Browser seiner Wahl auf, das heißt den Browser, den MS gern aufgerufen hätte. ;-)
Viele Grüße
Jörg