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

Forumthread: website in firefox kopieren per vba

website in firefox kopieren per vba
18.02.2021 18:17:53
Bernd
Hallo Forum,
ich würde gerne eine Webseite mit Firefox öffnen und dann in die Zwischenablage kopieren.
Mit der folgenden Funktion und Subroutine (siehe unten) kann ich die Seite in Firefox öffnen (im Internetexplorer 11 geht es nicht mehr bei mir).
Nun fehlt mir aber der vba code zum kopieren der vollständigen webseite in die Zwischenablage.
Kann mir da jemand helfen?
Besten Dank vorab
Bernd
______________________________________________________________________

Function OpenUrl(sURL As String, InFireFox As Boolean) As Integer
If InFireFox Then
OpenUrl = Shell("C:\Programme\Mozilla Firefox\firefox.exe " & sURL)
Else
OpenUrl = Shell("C:\Programme\Internet Explorer\iexplore.exe " & sURL)
End If
End Function

_______________________________________________________________________

Sub TestOpenUrl()
intResult = OpenUrl("https://www.wsj.com/market-data/stocks/marketsdiary", True)
End Sub

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: website in firefox kopieren per vba
22.02.2021 14:08:00
Yal
Hallo Bernd,
kein einfache Sache, was Du vorhast.
Am besten geht mit Power Query direkt auf die Webseite (schaue Dir Video Tutorial, das geht am schnellsten). Aus Firefox kannst Du in Entwocklungsmodus den Pfad der Tabelle ausfindig machen. Aber wie diese sofort in PQ umgesetzt wird, habe ich noch nicht durchgeschaut.
Viel Erfolg,
Yal
Anzeige
AW: website in firefox kopieren per vba
22.02.2021 19:30:47
Bernd
Hallo Yal,
danke für deinen Hinweis - schaue ich mir in Ruhe einmal an.
(Überraschenderweise) habe es hinbekommen mit dem obigen Code und mit sendkeys...
hier der relevante Ausschnitt aus dem Code:
intResult = OpenUrl("https://www.wsj.com/market-data/stocks/marketsdiary", True)
Application.Wait Now + TimeSerial(0, 0, 3)
Application.SendKeys "^a"
Application.Wait Now + TimeSerial(0, 0, 3)
Application.SendKeys "^c"
Application.Wait Now + TimeSerial(0, 0, 3)
Worksheets("Tabelle1").Select
Range("A1").Select
ActiveSheet.PasteSpecial Format:="Text", Link:=False, DisplayAsIcon:=False
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Webseiten mit Firefox kopieren und in Excel einfügen


Schritt-für-Schritt-Anleitung

Um eine Webseite in Firefox zu kopieren und in Excel einzufügen, kannst Du die folgende Schritt-für-Schritt-Anleitung nutzen:

  1. Öffne die Webseite in Firefox: Verwende den VBA-Code, um die gewünschte Webseite zu öffnen. Hier ist der Code, den Du verwenden kannst:

    Function OpenUrl(sURL As String, InFireFox As Boolean) As Integer
       If InFireFox Then
           OpenUrl = Shell("C:\Programme\Mozilla Firefox\firefox.exe " & sURL)
       Else
           OpenUrl = Shell("C:\Programme\Internet Explorer\iexplore.exe " & sURL)
       End If
    End Function
    
    Sub TestOpenUrl()
       intResult = OpenUrl("https://www.wsj.com/market-data/stocks/marketsdiary", True)
    End Sub
  2. Warte auf das Laden der Seite: Füge eine kurze Wartezeit hinzu, um sicherzustellen, dass die Webseite vollständig geladen ist. Beispielsweise kannst Du Application.Wait Now + TimeSerial(0, 0, 3) verwenden.

  3. Kopiere den Inhalt: Nutze die SendKeys-Funktion, um den gesamten Inhalt der Webseite zu kopieren. Hier ist der Code dazu:

    Application.SendKeys "^a" ' Alles auswählen
    Application.Wait Now + TimeSerial(0, 0, 3) ' Wartezeit
    Application.SendKeys "^c" ' In die Zwischenablage kopieren
  4. Füge den Inhalt in Excel ein: Wähle die Zielzelle in Excel aus und füge den kopierten Inhalt ein:

    Worksheets("Tabelle1").Select
    Range("A1").Select
    ActiveSheet.PasteSpecial Format:="Text", Link:=False, DisplayAsIcon:=False

Häufige Fehler und Lösungen

  • Firefox kopieren und einfügen funktioniert nicht mehr: Stelle sicher, dass Du die richtige Wartezeit zwischen den SendKeys-Befehlen einfügst, damit der Inhalt vollständig geladen ist.

  • Firefox Text kopieren geht nicht: Überprüfe, ob die Webseite, die Du versuchst zu kopieren, den Zugriff auf den Inhalt erlaubt. Einige Seiten blockieren das Kopieren.

  • Kopieren Firefox geht nicht: Achte darauf, dass Firefox im Vordergrund ist, wenn Du die SendKeys-Befehle ausführst. Andernfalls kann es zu Problemen kommen.


Alternative Methoden

Falls die oben genannten Schritte nicht funktionieren, gibt es alternative Methoden, um eine Webseite zu kopieren:

  • Power Query: Mit Power Query kannst Du Daten direkt aus Webseiten importieren, ohne sie manuell kopieren zu müssen. Dies ist eine effektive Methode, um regelmäßig aktualisierte Daten zu erhalten.

  • Web Scraping: Mit Programmiersprachen wie Python kannst Du Web Scraping verwenden, um Daten von Webseiten zu extrahieren und in Excel zu speichern.


Praktische Beispiele

Ein einfaches Beispiel für das Kopieren einer Tabelle von einer Webseite könnte so aussehen:

Sub CopyTableFromWeb()
    Dim intResult As Integer
    intResult = OpenUrl("https://www.example.com/data-table", True)

    Application.Wait Now + TimeSerial(0, 0, 5) ' Warte auf das Laden der Seite

    Application.SendKeys "^a" ' Alles auswählen
    Application.Wait Now + TimeSerial(0, 0, 3) ' Wartezeit
    Application.SendKeys "^c" ' In die Zwischenablage kopieren

    Worksheets("Tabelle1").Select
    Range("A1").Select
    ActiveSheet.PasteSpecial Format:="Text", Link:=False, DisplayAsIcon:=False
End Sub

Tipps für Profis

  • Automatisierung: Du kannst diesen Prozess automatisieren, indem Du den VBA-Code in eine Schleife packst, um mehrere Seiten nacheinander zu kopieren.

  • Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen, um Probleme beim Öffnen der Webseite oder beim Kopieren des Inhalts abzufangen.

  • Zwischenablage Firefox aktivieren: Stelle sicher, dass die Zwischenablage in Firefox aktiv ist, damit der Kopiervorgang reibungslos funktioniert.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass der Inhalt richtig kopiert wird?
Die Verwendung von Wartezeiten zwischen den Befehlen kann helfen, sicherzustellen, dass der Inhalt vollständig geladen ist, bevor Du versuchst, ihn zu kopieren.

2. Funktioniert das auch in anderen Browsern?
Der vorgestellte Code ist speziell für Firefox optimiert, kann aber mit Anpassungen auch für andere Browser verwendet werden.

3. Was mache ich, wenn das Kopieren nicht funktioniert?
Überprüfe die Einstellungen von Firefox und stelle sicher, dass keine Erweiterungen das Kopieren in die Zwischenablage blockieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige