Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bestimmten Wert mit VBA aus HTML Dateien auslesen

Forumthread: Bestimmten Wert mit VBA aus HTML Dateien auslesen

Bestimmten Wert mit VBA aus HTML Dateien auslesen
Paddy
Hallo liebe Herbergemeinde!
Ich bekomme täglich einen Kontoauszug von meinem Broker als HTML-Datei per E-Mail zugeschickt.
Mittlerweile sind schon einige Auszüge zusammen gekommen und ich würde alles gern in einer Excel Datei dokumentieren. Beispielsweise hätte ich gern in Spalte A das Datum und in Spalte B mein gesamtes Barvermögen.
Ich habe hier auch schon ein Script entdeckt, das man evtl dafür verwenden kann. Leider kenne ich mich nicht so gut mit VBA aus, als das ich das ganze an meine Bedürfnisse anpassen könne.
Hier ist mal der Link zu dem Thread:
https://www.herber.de/forum/archiv/1144to1148/t1144020.htm
Die Dateien liegen alle im Ordner d:\Auszuege. Die Dateien sind folgendermaßen benannt:
Kontoauszug_1285163_30-Apr-2010.HTML
Es ändert sich nur das Datum der Rest bleibt immer gleich.
Ich habe hier mal einen Auszug hochgeladen, wobei ich die Kontostände etwas zensiert habe. Viel ist's jedoch nicht. ;-)
https://www.herber.de/bbs/user/69486.html
Das gesamte Barvermögen steht fast ganz unten. Wobei noch zu erwähnen wäre, dass es bei den älteren Auszügen keine Probleme mit der Darstellung von Umlauten gab.
Bin gespannt, ob mir jemand helfen kann.
Vielen Dank schonmal und ein angenehmes Wochenend!
Paddy
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Bestimmten Wert mit VBA aus HTML Dateien auslesen
09.05.2010 10:13:45
Oberschlumpf
Hi Paddy
Vielleicht weiß ich eine Lösung.
Aber du schreibst unter Anderem:
...Beispielsweise hätte ich gern...
So etwas löst bei mir immer Alarmglocken aus :-)
Denn wenn jemand "bsplsweise" schreibt, dann kommt nach der ersten Lösung meist, fast immer, ein Nachtrag, wie z Bsp:
...ja, danke, könntest du dann vielleicht noch in Spalte C und in Spalte F das und das eintragaen?
Deswegen zuerst an dich die Frage:
Reichen wirklich die Infos in Spalte A + B, oder sollen noch weitere Daten aus der HTML-Datei "gezogen" werden?
Ciao
Thorsten
Anzeige
Nachtrag
09.05.2010 10:16:54
Oberschlumpf
...schreib bitte alles auf, was aus der HTML-Datei ausgelesen werden soll.
Denn das Extrahieren von Daten aus HTML-Dateien ist nich ohne ("fummelarbeit")
Und ich möchte nicht noch mal von vorme anfangen müssen, da du was vergessen hattest.
Danke
Ciao
Thorsten
AW: Nachtrag
09.05.2010 11:13:23
Paddy
Hi Thorsten!
Danke erstmal für deine Reaktion! Ok, dann lass ich die nichtsaussagenden Bindewörter jetzt weg.
Du hast "HTML Datei" geschrieben, es handelt sich aber um einige Dateien, die alle im selben Ordner liegen.
Ich brauche folgendes:
Spalte A: Datum
Spalte B: die Höhe meines Gesamten Barvermögens, bzw. das Gesamtkapital. Die beiden Beträge sind
immer gleich. Außerdem hat man kein Problem mit Umlauten, wenn man den Wert des Gesamt-
kapitals nimmt.
Ich denke, das Datum entnimmt man am besten dem Dateinamen. Womit ich auch vollkommen glücklich wäre, wäre wenn statt des Datums einfach der Dateiname in Spalte A stünde. Mit einer Formel kann ich mir das ja dann in ein gutes Format bringen.
Alles was ich brauche sind diese beiden Werte, sonst nichts.
Ich danke dir für dein Interesse!
Grüße,
Paddy!
Anzeige
AW: Nachtrag
09.05.2010 12:48:24
Oberschlumpf
Hi Paddy
Versuch mal:
https://www.herber.de/bbs/user/69488.xls
Diese Datei muss im gleichen Verzeichnis gespeichert sein, wie deine HTML-Dateien.
Wenn du dann das Makro startest,...
...wird die erste HTML-Datei eingelesen
...und eben die von dir 2 gewünschten Werte - Datum (aus Dateinamen) und Betrag aus Gesamtkapital - in die Exceldatei übertragen
...dann wird die nächste HTML-Datei eingelesen
...so lange, bis alle HTML-Dateien abgearbeitet wurden
Funktioniert es auch bei dir?
Ciao
Thorsten
Anzeige
AW: Nachtrag
09.05.2010 16:20:15
Paddy
Hey Thorsten!
Funktioniert einwandfrei, genauso hab ich mir das vorgestellt! Vielen Dank, das spart mir jede Menge Arbeit.
Genial, Danke!
;
Anzeige
Anzeige

Infobox / Tutorial

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:

  1. 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.
  2. VBA-Editor öffnen:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Modul erstellen:

    • Klicke mit der rechten Maustaste auf VBAProject (DeinDateiname) und wähle Einfügen > Modul.
  4. 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
  5. 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

  • Fehler: „Datei nicht gefunden“

    • Überprüfe, ob der Pfad zu den HTML-Dateien korrekt ist. Der Pfad muss in der VBA-Datei richtig angegeben sein.
  • Problem mit Umlauten

    • Achte darauf, dass die HTML-Dateien richtig kodiert sind. Wenn Umlaute nicht korrekt angezeigt werden, könnte eine Anpassung der Textkodierung notwendig sein.

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.

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