Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Mit VBA eine Website / URL öffnen

Forumthread: Mit VBA eine Website / URL öffnen

Mit VBA eine Website / URL öffnen
Mandix
Hy Leute...
Hab nach längerer Suche leider nichts gefunden, um (etwa mit einem Button per Click) eine URL in einem Browser (es genügt der Standardbrowser) zu öffnen.
Wie kann ich das in VBA realisieren? Ich möchte nämlich die Hilfe für mein Programm in eine .htm verpacken!
Vielen Dank.
Anzeige
AW: Mit VBA eine Website / URL öffnen
Willie
Hallo Mandix versuche es mal so

Sub herber()
Set wshshell = CreateObject("WScript.Shell")
wshshell.Run <a href=""http://xlforum.herber.de/"">"http://xlforum.herber.de/"</a>
End Sub

Gruß
Willie
Rückmeldung wäre nett
AW: Mit VBA eine Website / URL öffnen
Willie
Iggend wie hat es beim einfügen etwas verwürfelt!
so sollte es eigentlich aussehen!

Sub herber()
Set wshshell = CreateObject("WScript.Shell")
wshshell.Run "www.herber.de/"
End Sub

Gruß
Willie
Anzeige
AW: Mit VBA eine Website / URL öffnen
Mandix
Hallo...
Mit URLs bzw. Internetadressen funktioniert es super.
Ich möchte nun aber eine lokale html Datei namens Help.html öffnen und das geht damit nicht. Die Datei Help.html liegt dabei im selben Verzeichnis wie das xls-File. Mir ist auch wichtig, dass ich keinen absoluten Pfad eingeben muß beim Aufruf (wie etwa C:/.../Help.html), sondern direkt den Dateinamen.
Danke.
Anzeige
AW: Mit VBA eine Website / URL öffnen
Willie
Dann musst du nur angeben
dim datei as string
Datei = thisworkbook.path & "/deinedatei.html
wshshell.Run Datei
Sollte so gehen
Gruß
Willie
AW: Mit VBA eine Website / URL öffnen
Mandix
Geht leider so nicht, bekomme immer folgende Fehlermeldung, dass die Run fehlgeschlagen hat:
Run-time-error '-2147024894 (800700002)'
Method 'Run' of object 'IWshShell3' failed
Meine Source:
Set wshshell = CreateObject("WScript.Shell")
Dim destination As String
destination = ThisWorkbook.Path & "/Help/Help.html"
wshshell.run destination
Danke, M.
Anzeige
AW: Mit VBA eine Website / URL öffnen
Willie
So funktioniert es bei mir
Gruß
Willie

Sub mandix()
Dim destination As String
pfad = ThisWorkbook.Path & "\Help\Help.html"
Set wshshell = CreateObject("WScript.Shell")
wshshell.Run pfad
End Sub

GELÖST: Leerzeichen in Pfad war Problem
07.04.2004 14:01:55
Mandix
Hy Leute...
Das Leerzeichen im Pfad war schuld, dass der Run-Prozeß gesponnen hat. Die Fehler liegen halt immer da, wo man es nicht erwartet.
Das witzige ist, dass ich mir den Pfad mit workbook.path geholt habe. Wenn VBA schon zu blöde ist, ein Run mit einem Leerzeichen im Pfad auszuführen, WARUM holt sich workbook.path dann nicht gleich den Pfad, wie es ihn auch akzeptiert?
*GRML*
Danke nochmal allen Helfern...
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Mit VBA eine URL oder Website öffnen


Schritt-für-Schritt-Anleitung

Um mit VBA eine URL oder Webseite zu öffnen, kannst du den folgenden Code verwenden. Dies funktioniert sowohl für externe Links als auch für lokale HTML-Dateien:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke im Menü auf Einfügen und wähle Modul.
  3. Füge den folgenden Code in das Modul ein:
Sub OpenURL()
    Dim wshshell As Object
    Set wshshell = CreateObject("WScript.Shell")
    wshshell.Run "http://deine-seite.de" ' Ändere die URL nach Bedarf
End Sub
  1. Schließe den VBA-Editor und gehe zurück zu Excel.
  2. Du kannst jetzt das Makro ausführen, um die Webseite zu öffnen.

Für lokale HTML-Dateien kannst du den Code wie folgt anpassen:

Sub OpenLocalHTML()
    Dim wshshell As Object
    Dim filePath As String
    filePath = ThisWorkbook.Path & "\deine_datei.html" ' Ändere den Dateinamen nach Bedarf
    Set wshshell = CreateObject("WScript.Shell")
    wshshell.Run filePath
End Sub

Häufige Fehler und Lösungen

Wenn du beim Ausführen des Codes auf Fehler stößt, können folgende Lösungen hilfreich sein:

  • Fehlermeldung: "Method 'Run' of object 'IWshShell3' failed"

    • Ursache: Der Pfad enthält möglicherweise Leerzeichen. Stelle sicher, dass der gesamte Pfad in Anführungszeichen gesetzt ist.
    • Lösung: Verwende den Befehl chr(34) für Anführungszeichen:
    wshshell.Run chr(34) & filePath & chr(34)
  • Kein Browser zum Öffnen des Links gefunden

    • Dies kann darauf hinweisen, dass der Standardbrowser nicht korrekt konfiguriert ist. Überprüfe die Systemeinstellungen deines PCs.

Alternative Methoden

Es gibt verschiedene Möglichkeiten, um mit VBA auf eine Webseite zuzugreifen:

  1. VBA Hyperlink öffnen: Du kannst ein Hyperlink-Objekt in Excel verwenden:

    ThisWorkbook.FollowHyperlink Address:="http://deine-seite.de"
  2. Mit Edge öffnen: Wenn du einen bestimmten Browser wie Edge verwenden möchtest, kannst du den Pfad zum Browser angeben:

    wshshell.Run "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe " & filePath

Praktische Beispiele

Hier sind einige praktische Beispiele, die dir helfen, die verschiedenen Methoden anzuwenden:

  1. Öffnen einer externen Webseite:

    Sub OpenWebseite()
       Dim wshshell As Object
       Set wshshell = CreateObject("WScript.Shell")
       wshshell.Run "http://www.example.com"
    End Sub
  2. Öffnen einer lokalen HTML-Datei:

    Sub OpenLocalFile()
       Dim wshshell As Object
       Dim filePath As String
       filePath = ThisWorkbook.Path & "\Help.html"
       Set wshshell = CreateObject("WScript.Shell")
       wshshell.Run chr(34) & filePath & chr(34)
    End Sub

Tipps für Profis

  • Verwende On Error Resume Next: Um zu verhindern, dass dein Makro bei einem Fehler stoppt, kannst du diese Anweisung verwenden.

  • Makros in der Schnellzugriffsleiste: Platziere deine Makros in der Schnellzugriffsleiste für einen schnelleren Zugriff.

  • Parameterübergabe: Du kannst das Makro so anpassen, dass es eine URL oder einen Dateinamen als Parameter akzeptiert, was die Wiederverwendbarkeit erhöht.


FAQ: Häufige Fragen

1. Wie kann ich eine URL in einem bestimmten Browser öffnen?
Du kannst den Pfad zu dem gewünschten Browser im wshshell.Run-Befehl angeben, wie im Abschnitt „Alternative Methoden“ beschrieben.

2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, die beschriebenen Methoden sind in den meisten Excel-Versionen ab Excel 2007 verfügbar, solange VBA unterstützt wird.

3. Warum funktioniert das Öffnen einer lokalen Datei nicht?
Achte darauf, dass der Pfad zur Datei korrekt ist und keine Leerzeichen enthält, oder verwende die chr(34)-Methode für Anführungszeichen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige