Bestimmten Wert mit VBA aus HTML-Dateien auslesen
Schritt-für-Schritt-Anleitung
Um einen bestimmten Wert aus .html-Dateien zu lesen und in Excel zu dokumentieren, befolge diese Schritte:
-
Vorbereitung:
- Stelle sicher, dass alle deine HTML-Dateien im gleichen Ordner sind, z.B.
d:\Auszuege
.
- Erstelle eine neue Excel-Datei, in die die Daten importiert werden sollen.
-
VBA-Editor öffnen:
- Drücke
ALT + F11
, um den VBA-Editor zu öffnen.
-
Modul erstellen:
- Klicke mit der rechten Maustaste auf
VBAProject (DeinDateiname)
und wähle Einfügen > Modul
.
-
VBA-Code einfügen:
-
Kopiere und füge den folgenden Code in das Modul ein:
Sub HTMLDateienAuslesen()
Dim Datei As String
Dim FSO As Object
Dim HTMLDoc As Object
Dim i As Integer
Dim ws As Worksheet
Set FSO = CreateObject("Scripting.FileSystemObject")
Set ws = ThisWorkbook.Sheets(1) ' Daten in das erste Arbeitsblatt schreiben
i = 1
Datei = Dir("d:\Auszuege\*.html") ' Alle HTML-Dateien im Ordner lesen
Do While Datei <> ""
Set HTMLDoc = CreateObject("HTMLFile")
HTMLDoc.body.innerHTML = FSO.OpenTextFile("d:\Auszuege\" & Datei, 1).ReadAll
' Datum aus Dateinamen extrahieren
ws.Cells(i, 1).Value = Replace(Datei, "Kontoauszug_", "")
ws.Cells(i, 1).Value = Replace(ws.Cells(i, 1).Value, ".HTML", "")
' Gesamtkapital aus HTML-Dokument extrahieren (hier musst du die spezifische Logik einfügen)
ws.Cells(i, 2).Value = "DEIN_GESAMTKAPITAL"
i = i + 1
Datei = Dir
Loop
End Sub
-
Makro ausführen:
- Schließe den VBA-Editor und gehe zurück zu Excel.
- Drücke
ALT + F8
, wähle HTMLDateienAuslesen
aus und klicke auf Ausführen
.
Häufige Fehler und Lösungen
Alternative Methoden
Falls du keine Programmierkenntnisse in VBA hast, kannst du auch folgende Methoden ausprobieren:
-
Power Query:
- Excel bietet die Möglichkeit, mit Power Query HTML-Dateien zu importieren. Du kannst die .html-Dateien direkt über
Daten > Daten abrufen > Aus Datei > Aus HTML
importieren.
-
Drittanbieter-Tools:
- Es gibt Tools, die speziell dafür entwickelt wurden, HTML-Dateien auszulesen und in Excel zu importieren. Diese bieten oft eine benutzerfreundliche Oberfläche.
Praktische Beispiele
Um den Code zu vervollständigen, hier ein simples Beispiel, wie du das Gesamtkapital aus einer HTML-Datei extrahieren kannst:
Dim Kapital As String
Kapital = HTMLDoc.getElementsByClassName("deineKlasse")(0).innerText ' Beispiel für das Auslesen eines Wertes
ws.Cells(i, 2).Value = Kapital
Hierbei musst du die tatsächliche Klasse oder ID der HTML-Elemente kennen, aus denen du die Werte auslesen möchtest.
Tipps für Profis
-
Debugging im VBA:
- Nutze die Debugging-Tools im VBA-Editor, um Fehler zu finden. Setze Haltepunkte und überprüfe die Variablenwerte während der Ausführung.
-
Regelmäßige Backups:
- Mache regelmäßige Backups deiner Excel-Datei, um Datenverluste zu vermeiden.
-
Daten validieren:
- Überprüfe die importierten Daten auf Richtigkeit, insbesondere wenn du mehrere HTML-Dateien in einem Batch verarbeitest.
FAQ: Häufige Fragen
1. Kann ich auch andere Werte aus der HTML-Datei auslesen?
Ja, das ist möglich. Du musst lediglich den Code anpassen und die entsprechenden HTML-Elemente identifizieren.
2. Funktioniert das auch mit Excel für Mac?
Die VBA-Methoden sind in der Regel auf Windows beschränkt. Power Query kann jedoch auch auf Mac verwendet werden, um HTML-Dateien auszulesen.
3. Was mache ich, wenn das Makro nicht funktioniert?
Überprüfe den Code auf Syntaxfehler und stelle sicher, dass der Pfad zu den HTML-Dateien korrekt ist. Teste auch, ob die HTML-Dateien ordnungsgemäß formatiert sind.