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

Internetseite öffnen + schließen

Forumthread: Internetseite öffnen + schließen

Internetseite öffnen + schließen
26.12.2007 11:56:00
gisela
Hallo,
ich öffne und schließe Internetseiten mit folgenden Code's:

Sub test()
Set objExplorer = CreateObject("InternetExplorer.Application")
With objExplorer
.Navigate ("http:// _
networkwelt.xmarkt.de/kam/anz_confirm.php3?xxxxxxx")
'anpassen
.StatusBar = False
.MenuBar = False
.Toolbar = False
.Visible = True
.Resizable = True
.Width = 800
.Height = 600
.Left = 0
.Top = 0
End With
Application.Wait (Now + TimeValue("0:00:10")) '10 Sekunden anzeigen
objExplorer.Quit 'schliessen
Set objExplorer = Nothing
Test2
End Sub



Sub test2()
Set objExplorer = CreateObject("InternetExplorer.Application")
With objExplorer
.Navigate ("http://1a.xmarkt. _
de/kam/anz_confirm.php3?xxxxxxxxx")
'anpassen
.StatusBar = False
.MenuBar = False
.Toolbar = False
.Visible = True
.Resizable = True
.Width = 800
.Height = 600
.Left = 0
.Top = 0
End With
Application.Wait (Now + TimeValue("0:00:10")) '10 Sekunden anzeigen
objExplorer.Quit 'schliessen
Set objExplorer = Nothing
Test3
End Sub



Sub test3()
Set objExplorer = CreateObject("InternetExplorer.Application")
With objExplorer
.Navigate ("http://1a.xmarkt. _
de/kam/anz_confirm.php3?xxxxxxxxx")
'anpassen
.StatusBar = False
.MenuBar = False
.Toolbar = False
.Visible = True
.Resizable = True
.Width = 800
.Height = 600
.Left = 0
.Top = 0
End With
Application.Wait (Now + TimeValue("0:00:10")) '10 Sekunden anzeigen
objExplorer.Quit 'schliessen
Set objExplorer = Nothing
End Sub


Das funktioniert. Da ich aber noch mehrere Seiten aufrufen möchten, ist meine Frage: geht das auch etwas kürzer?
Kann mir da jemand helfen und mitteilen, wie das ganze dann aussehen muß?
Vielen Dank und liebe Grüße
Gisela

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Internetseite öffnen + schließen
26.12.2007 12:28:50
ransi
HAllo Gisela
Versuche es doch mal so:
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Sub test()
Dim objExplorer
Dim Seiten As Variant
Dim I As Integer
Seiten = Array("http://www.ms-office-forum.net/forum/showthread.php?t=223915", _
    "http://www.herber.de/forum/archiv/936to940/t937120.htm")
Set objExplorer = CreateObject("InternetExplorer.Application")
With objExplorer
    .StatusBar = False
    .MenuBar = False
    .Toolbar = False
    .Visible = True
    .Resizable = True
    .Width = 800
    .Height = 600
    .Left = 0
    .Top = 0
    For I = 0 To UBound(Seiten)
        .Navigate (Seiten(I))
        ' Do
        ' DoEvents
        ' Loop While .busy
        Application.Wait (Now + TimeValue("0:00:10")) '10 Sekunden anzeigen
    Next
End With
objExplorer.Quit 'schliessen
Set objExplorer = Nothing
End Sub

ransi

Anzeige
AW: Internetseite öffnen + schließen
26.12.2007 12:51:36
gisela
Hallo ranzi,
vielen Dank für Deine Hilfe - das erspart mir einiges an Arbeit.
Liebe Grüße und noch einen schönen Feiertag
Gisela
;
Anzeige
Anzeige

Infobox / Tutorial

Internetseiten mit Excel VBA öffnen und schließen


Schritt-für-Schritt-Anleitung

Um mit Excel VBA eine Webseite zu öffnen und zu schließen, kannst du folgenden Code verwenden. Dieser Code öffnet eine Internetseite in Internet Explorer und schließt sie nach 10 Sekunden.

Sub test()
    Dim objExplorer As Object
    Set objExplorer = CreateObject("InternetExplorer.Application")

    With objExplorer
        .Navigate "http://networkwelt.xmarkt.de/kam/anz_confirm.php3?xxxxxxx" ' URL anpassen
        .StatusBar = False
        .MenuBar = False
        .Toolbar = False
        .Visible = True
        .Resizable = True
        .Width = 800
        .Height = 600
        .Left = 0
        .Top = 0
    End With

    Application.Wait (Now + TimeValue("0:00:10")) ' 10 Sekunden anzeigen
    objExplorer.Quit ' schließen
    Set objExplorer = Nothing
End Sub

Wenn du mehrere Webseiten öffnen möchtest, kannst du den Code optimieren, indem du ein Array verwendest.

Sub test()
    Dim objExplorer As Object
    Dim Seiten As Variant
    Dim I As Integer
    Seiten = Array("http://www.ms-office-forum.net/forum/showthread.php?t=223915", _
                   "http://www.herber.de/forum/archiv/936to940/t937120.htm")

    Set objExplorer = CreateObject("InternetExplorer.Application")

    With objExplorer
        .StatusBar = False
        .MenuBar = False
        .Toolbar = False
        .Visible = True
        .Resizable = True
        .Width = 800
        .Height = 600
        .Left = 0
        .Top = 0

        For I = 0 To UBound(Seiten)
            .Navigate (Seiten(I))
            Application.Wait (Now + TimeValue("0:00:10")) ' 10 Sekunden anzeigen
        Next
    End With

    objExplorer.Quit ' schließen
    Set objExplorer = Nothing
End Sub

Häufige Fehler und Lösungen

  • Fehler: "Outlook öffnet Edge statt Chrome"

    • Lösung: Überprüfe die Standardbrowser-Einstellungen in Windows. Stelle sicher, dass Chrome als Standardbrowser eingestellt ist.
  • Fehler: Internet Explorer öffnet sich nicht.

    • Lösung: Stelle sicher, dass Internet Explorer auf deinem System installiert und korrekt konfiguriert ist.

Alternative Methoden

Anstelle von Internet Explorer kannst du auch andere Browser wie Chrome verwenden, allerdings ist die Automatisierung mit VBA dazu nicht so einfach. Eine Möglichkeit wäre, die Selenium-Bibliothek zu verwenden, um Webseiten in Chrome zu öffnen.


Praktische Beispiele

  1. Öffnen einer spezifischen Webseite:

    Verwende den folgenden Code, um eine bestimmte Webseite direkt zu öffnen und nach 10 Sekunden zu schließen.

    Sub OpenWebpage()
       Dim ie As Object
       Set ie = CreateObject("InternetExplorer.Application")
       With ie
           .Visible = True
           .Navigate "http://example.com"
           Application.Wait (Now + TimeValue("0:00:10"))
           .Quit
       End With
       Set ie = Nothing
    End Sub
  2. Öffnen mehrerer Seiten in einer Schleife:

    Dieser Code öffnet mehrere Webseiten nacheinander und wartet jeweils 10 Sekunden.

    Sub OpenMultipleWebsites()
       Dim ie As Object
       Dim websites As Variant
       Dim i As Integer
       websites = Array("http://example1.com", "http://example2.com")
    
       Set ie = CreateObject("InternetExplorer.Application")
       With ie
           .Visible = True
           For i = LBound(websites) To UBound(websites)
               .Navigate websites(i)
               Application.Wait (Now + TimeValue("0:00:10"))
           Next i
           .Quit
       End With
       Set ie = Nothing
    End Sub

Tipps für Profis

  • Nutze DoEvents während einer Schleife, um die Benutzeroberfläche reaktionsfähig zu halten:

    Do While .Busy Or .readyState <> 4
      DoEvents
    Loop
  • Überlege, ob du auf die Verwendung von Internet Explorer verzichten kannst, da viele Nutzer auf moderne Browser gewechselt sind.


FAQ: Häufige Fragen

1. Kann ich mit VBA auch andere Browser als Internet Explorer steuern?
Ja, du kannst andere Browser wie Chrome oder Firefox steuern, jedoch benötigst du dazu zusätzliche Bibliotheken wie Selenium.

2. Wie kann ich die Wartezeit anpassen?
Du kannst die Zeit in Application.Wait (Now + TimeValue("0:00:10")) ändern, indem du die Minuten und Sekunden anpasst, z. B. "0:00:20" für 20 Sekunden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige