Tab in Firefox wieder schließen mit VBA
Schritt-für-Schritt-Anleitung
-
VBA-Editor öffnen: Drücke ALT + F11
in Excel, um den VBA-Editor zu öffnen.
-
Neues Modul erstellen: Klicke mit der rechten Maustaste auf "VBA-Projekt (dein Arbeitsblattname)" und wähle Einfügen > Modul
.
-
Code einfügen: Füge den folgenden Code in das Modul ein:
Function OpenUrl(sURL As String, InFireFox As Boolean) As Integer
If InFireFox Then
OpenUrl = Shell("C:\Programme\Mozilla Firefox\firefox.exe " & sURL)
End If
End Function
Sub TestOpenUrl()
intResult = OpenUrl("https://www.onvista.de/aktien/handelsplaetze/Aixtron-Aktie-DE000A0WMPJ6", 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
Application.SendKeys "^{F4}", True ' Tab schließen
End Sub
-
Code ausführen: Schließe den VBA-Editor und führe das Makro TestOpenUrl
aus. Du solltest nun die Daten in Excel sehen und der Firefox-Tab wird geschlossen.
Häufige Fehler und Lösungen
-
Laufzeitfehler 1004: Dieser Fehler kann auftreten, wenn die SendKeys
-Anweisung nicht korrekt verarbeitet wird. Stelle sicher, dass die Tastenkombination für das Schließen des Tabs (Strg + F4
) in deiner Firefox-Version funktioniert.
-
Tab bleibt geöffnet: Überprüfe, ob du die richtige Tastenkombination verwendest. Es kann sein, dass die Kombination in deiner Firefox-Version abweicht. Probiere andere Kombinationen wie Strg + W
.
Alternative Methoden
Anstatt VBA und SendKeys
zu verwenden, kannst du auch Selenium verwenden, um deinen Browser zu steuern. Hier einige Schritte:
- SeleniumBasic installieren: Lade die neueste Version von SeleniumBasic herunter und installiere sie.
-
Selenium im VBA verwenden: Füge den folgenden Code in dein Modul ein:
Dim driver As New Selenium.ChromeDriver
driver.Get "https://www.onvista.de/aktien/handelsplaetze/Aixtron-Aktie-DE000A0WMPJ6"
' ... Daten abrufen ...
driver.Quit ' Schließt den Tab
Diese Methode ist flexibler und weniger fehleranfällig als die Verwendung von SendKeys
.
Praktische Beispiele
Hier sind einige Beispielcodes, die die oben genannten Methoden nutzen:
-
Daten mit SendKeys
abrufen:
Sub GetAixtronData()
intResult = OpenUrl("https://www.onvista.de/aktien/handelsplaetze/Aixtron-Aktie-DE000A0WMPJ6", True)
' ... Kopieren und Einfügen ...
Application.SendKeys "^{F4}", True ' Schließt den Tab
End Sub
-
Daten mit Selenium abrufen:
Sub GetDataWithSelenium()
Dim driver As New Selenium.ChromeDriver
driver.Get "https://www.onvista.de/aktien/handelsplaetze/Aixtron-Aktie-DE000A0WMPJ6"
' ... Daten extrahieren ...
driver.Quit ' Tab schließen
End Sub
Tipps für Profis
- Selenium verwenden: Für komplexere Aufgaben ist Selenium die bessere Wahl. Es ist robuster und bietet mehr Möglichkeiten zur Interaktion mit Webseiten.
- Verwendung von
Application.Wait
: Achte darauf, dass du genügend Wartezeit zwischen den SendKeys
-Befehlen einfügst, um sicherzustellen, dass die vorherige Aktion abgeschlossen ist.
- Browser-Addons: Nutze Firefox-Addons, um herauszufinden, welche Tastenkombination für das Schließen von Tabs funktioniert.
FAQ: Häufige Fragen
1. Warum funktioniert SendKeys
nicht immer?
SendKeys
kann unzuverlässig sein, da es von der aktuellen Fensterfokussierung abhängt. Wenn ein anderes Fenster im Vordergrund ist, kann der Befehl nicht korrekt ausgeführt werden.
2. Welche Excel-Version benötige ich für diese Methoden?
Diese Methoden sollten in den meisten modernen Excel-Versionen funktionieren, die VBA unterstützen, wie Excel 2010, 2013, 2016 und 2019.
3. Gibt es eine Möglichkeit, den Tab in Firefox ohne VBA zu schließen?
Ja, du kannst die integrierte Tastenkombination Strg + W
verwenden, um einen Tab schnell zu schließen, ohne VBA zu nutzen.