Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Internet Seiten per VBA öffnen

Internet Seiten per VBA öffnen
04.01.2018 21:10:06
Maria
Hallo,
ich habe folgendes Problem, ich möchte eine Auswahl von Begriffen automatisch per VBA im internet explorer öffnen.
Ich habe mich an zwei codes aus dem Internet versucht aber bekomme es einfach nicht hin.
Besser wäre es noch wenn der Code die Komplette Liste auf der Website durchgeht und mir die _ Seiten öffnet wo mindestens ein Eintrag vorhanden ist, dies ist aber glaube ich zu kompliziert oder?

Sub BoersenZeitung()
Dim objIE As Object
Set objIE = CreateObject("Internetexplorer.Application")
Dim Unternehmen As String
Set Unternehmen = Selection
With objIE
.Visible = True
.Navigate2 "https://www.boersen-zeitung.de/index.php?li=310&subm=suche&bzpro_suche= _
Unternehmen=1%20Woche"
Do While .Busy And .readyState  4
DoEvents
Loop
End With
'Set objIE = Nothing
End Sub

Ich habe gedacht ich könnte in dem Link einfach eine Variable, die ich Unternehmen genannt habe, einfügen und diese als Selection deklarieren.
Das Foto ist ein Beispiel, da kommen aber noch mehr Unternehmen zu und es wird auch hin und wieder mal eines entfernt oder hinzugefügt
Userbild
Vielen Lieben Dank und ganz liebe Grüße
Maria
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Internet Seiten per VBA öffnen
04.01.2018 23:34:33
mumpel
Hallo!
Gibt es eine Fehlermeldung?
Gruß, René
Nachtrag
04.01.2018 23:40:55
mumpel
Da "Unternehmen" eine Variable ist muss sie auch so übergeben werden.
Sub BoersenZeitung()

Dim objIE       As Object

Set objIE = CreateObject("Internetexplorer.Application")


With objIE
    .Visible = True
    .Navigate2 "https://www.boersen-zeitung.de/index.php?" & _
               "li=310&subm=suche&bzpro_suche=" & Selection & _
               "=1%20Woche"
    Do While .Busy And .readyState <> 4
       DoEvents
    Loop

End With


End Sub

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


Anzeige
Was ist Dein Ziel?
05.01.2018 11:53:28
Zwenn
Hallo Maria,
wenn ich es richtig verstanden habe, möchtest Du alle Suchtreffer am liebsten direkt als eigene Seiten öffnen. Ist das richtig? Falls ja, ist das nach meiner Auffassung nicht sehr zielführend.
Allein für die 6 Unternehmen, die Du in Deinem Beispiel angegeben hast, gibt es Stand heute 11:30 Uhr für den Zeitraum 1 Woche in Summe 78 Treffer. Nach Ablauf eines entsprechenden Makros hättest Du also 78 Internet Explorer Instanzen geöffnet und es sollen noch mehr Unternehmen hinzu kommen. (Nimmt man statt Mercedes die echte Firmenbezeichnung Daimler, werden es nochmal mindestens 17 Artikel mehr.) Wie willst Du die sinnvoll abarbeiten? Wobei ich natürlich nicht weiß, was Du überhaupt mit den Berichten vor hast.
Weiterhin ist der Link in Deinem Codeausschnitt falsch. Wenn man ihn mit dem Screenshot vergleicht, fehlt das Wort Zeitraum vor dem letzten Gleichheitszeichen. Um solche Flüchtigkeitsfehler zu vermeiden, habe ich es mir angewöhnt, solche Konstrukte zu kopieren und da einzufügen, wo sie benötigt werden. Ob es URLs oder Nicknames sind. So sind Tippfehler ausgeschlossen. URLs kann man nach dem Einfügen immer noch bearbeiten, falls notwendig. Z.B. um einen Teil mit Variablen dynamisch zu machen.
Ganz davon ab, funktioniert so ein Link aber auch nicht, wenn ich ihn 1 zu 1 aus Deinem Screenshot abschreibe. Dann erhalte ich gar keine Suchtreffer, sondern im Suchfeld steht bmw_zeitraum=1 Woche und für Zeitraum bleibt die Vorgabe 1 Jahr eingetragen. Wenn man die gewünschten Daten manuell in die Suchfelder eingibt, bekommt man zwar das gewünschte Ergebnis, aber als URL steht nur https://www.boersen-zeitung.de/index.php?li=310&subm=suche im Browser. Woher hast Du also den Aufbau Deiner URLs und funktionieren die bei Dir wirklich so? Ich habe es nur manuell getestet, nicht als VBA Makro. Aus einer Excelzelle heraus dürfte ein anklickbarer Link so aber dann auch nicht funktionieren.
Also am wichtigsten wäre erstmal zu wissen, ob Du die ganzen Suchtreffer wirklich direkt geöffnet haben willst. Alternativ könntest Du auch erstmal alle Überschriften und Direktlinks auslesen und dann bei Durchsicht entscheiden, welche Berichte Du Dir wirklich ansehen musst. Oder Du wählst ein noch anderes Vorgehen. Ich denke dabei wie gesagt vor allem daran, dass Du mit dem Ergebnis ja irgend etwas machen willst. Wenn die ganzen Teile einfach nur geöffnet werden, kannst Du sie nur sofort manuell abarbeiten oder unbesehen einfach wieder schließen.
Ob so ein Makro erstellbar ist, habe ich bisher nicht geprüft. Dies sind nur meine ersten Gedanken zu Deiner Anfrage.
Viele Grüße,
Zwenn
Anzeige
AW: Was ist Dein Ziel?
06.01.2018 06:17:38
Hajo_Zi
Hallo Zwenn,
lasse den Fragesteller entscheiden ob offen.
Es ist Heute nicht mehr üblich eine Rückmeldung zu geben und so ist der Beitrag über 6 Tage offen.

Ich gebe keinen Dank für eine Rückmeldung, da ich durch solche Beiträge nicht meine Beitragszahl erhöhen muss.
Also ich schreibe keine Beiträge mit dem Betreff "Gerne u. Danke für die Rückmeldung....."
Rückmeldung ist ja in der Heutigen Zeit nicht üblich und die wenigen die eine Rückmeldung geben,
mögen mir das verzeihen, das kein Danke für eine Rückmeldung kommt.
Beiträge von Werner, Luc, robert und folgende lese ich nicht.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Internetseiten per VBA öffnen


Schritt-für-Schritt-Anleitung

Um eine Internetseite per VBA zu öffnen, kannst du den folgenden Code verwenden. Dieses Beispiel zeigt, wie du eine Auswahl von Begriffen im Internet Explorer öffnen kannst. Achte darauf, dass du Excel in der Version 2016 oder höher verwendest.

Sub BoersenZeitung()
    Dim objIE As Object
    Set objIE = CreateObject("Internetexplorer.Application")
    Dim Unternehmen As String
    Unternehmen = Selection ' Hier wird die Auswahl als Variable festgelegt
    With objIE
        .Visible = True
        .Navigate2 "https://www.boersen-zeitung.de/index.php?li=310&subm=suche&bzpro_suche=" & Unternehmen & "=1%20Woche"
        Do While .Busy And .readyState <> 4
            DoEvents
        Loop
    End With
    'Set objIE = Nothing ' Dies kann verwendet werden, um das Objekt zu schließen
End Sub

In dieser Anleitung wird die Selection verwendet, um die aktuell ausgewählte Zelle in Excel als Suchbegriff zu nutzen. Stelle sicher, dass du die korrekten Variablen in deinem Link implementierst.


Häufige Fehler und Lösungen

  • Fehlermeldung beim Ausführen des Codes: Überprüfe, ob die Variable Unternehmen korrekt übergeben wird. Sie sollte eine gültige Auswahl sein.

  • Link funktioniert nicht: Achte darauf, dass alle Teile der URL korrekt sind. Zum Beispiel muss das Wort "Zeitraum" vor dem letzten Gleichheitszeichen vorhanden sein.

  • Internet Explorer öffnet keine Seiten: Stelle sicher, dass der Internet Explorer auf deinem PC installiert und aktiviert ist.


Alternative Methoden

Anstelle von Internet Explorer kannst du auch Microsoft Edge verwenden, indem du den CreateObject-Befehl anpasst. Hier ist ein Beispiel:

Sub EdgeOeffnen()
    Dim objEdge As Object
    Set objEdge = CreateObject("Microsoft.Edge.Application")
    objEdge.Visible = True
    objEdge.Navigate "https://www.boersen-zeitung.de"
End Sub

Für die Verwendung von Edge musst du sicherstellen, dass du die entsprechende VBA-Bibliothek installiert hast.


Praktische Beispiele

  1. Öffne mehrere Links: Du könntest eine Schleife implementieren, um mehrere Links aus einer Liste zu öffnen. Dies hilft dir, gleich mehrere Seiten zu laden.

  2. Suche nach spezifischen Begriffen: Du kannst die Selection-Variable so anpassen, dass sie mehrere Begriffe durchläuft und für jeden einen neuen Internet Explorer öffnet.

Sub MehrereLinksOeffnen()
    Dim objIE As Object
    Dim i As Integer
    Dim Suchbegriffe As Range
    Set Suchbegriffe = Selection ' Mehrere Zellen auswählen
    For i = 1 To Suchbegriffe.Count
        Set objIE = CreateObject("Internetexplorer.Application")
        With objIE
            .Visible = True
            .Navigate2 "https://www.boersen-zeitung.de/index.php?li=310&subm=suche&bzpro_suche=" & Suchbegriffe(i).Value & "=1%20Woche"
            Do While .Busy And .readyState <> 4
                DoEvents
            Loop
        End With
    Next i
End Sub

Tipps für Profis

  • Verwenden von DoEvents: Dies hilft, die Anwendung während des Ladevorgangs des Browsers reaktionsfähig zu halten.

  • Automatisierung von Aufgaben: Du kannst die VBA-Funktionalität erweitern, um Informationen von den geöffneten Seiten zu extrahieren, anstatt sie nur zu öffnen.

  • Edge steuern: Wenn du mit Edge arbeitest, informiere dich über die neuesten Updates in der Edge-VBA-Bibliothek, da sich die Funktionen regelmäßig ändern können.


FAQ: Häufige Fragen

1. Wie kann ich den Internet Explorer per VBA öffnen? Du kannst den Internet Explorer mit dem CreateObject("Internetexplorer.Application") Befehl öffnen. Stelle sicher, dass der Internet Explorer auf deinem System installiert ist.

2. Kann ich Microsoft Edge auch mit VBA steuern? Ja, du kannst Microsoft Edge mit CreateObject("Microsoft.Edge.Application") öffnen, aber du musst sicherstellen, dass die entsprechende Bibliothek installiert ist.

3. Was tun, wenn die Seite nicht geladen wird? Überprüfe die URL auf Fehler oder fehlende Parameter. Außerdem kann es hilfreich sein, den Code in einer Debugging-Umgebung auszuführen, um die Ursache des Problems zu identifizieren.

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