Hier ein kleines Beispiel, es wird jeweils der Zeilen-oder Spalten-Tag ausgegeben (MsgBox)
Sub HTML_auslesen()
Dim Datei As String
Dim HTML_Code As String
Dim Zeile As Integer
Dim Spalte As Integer
'Initialisierung
Datei = „C:\Temp\MeineSeite.html“ 'Hier muss der Pfad zur gespeicherten Seite hinein, ggf. funktioniert auch die Angabe im Web (http://www.microsoft.com/de-de/default.aspx), Microsoft arbeitet aber mit statt mit und
Zeile = 0
Spalte = 0
'Coding
Open Datei For Input As #1
Do While Not EOF(1)
Line Input #1, HTML_Code
'Prüfen, ob HTML-Code für Zeilenanfang vorhanden (hier: )
'Achtung, es können im Tag, also zwischen den spitzen Klammern auch weitere Angaben wie z.B. Width=… usw. stehen,
'daher wird nicht auf kompletten Tag geprüft, sondern nur auf den Anfang 0 Then
Zeile = Zeile + 1
End If
'Prüfen, ob HTML-Code für neue Spalte vorhanden (hier: ), siehe Anmerkung bei
If InStr(1, UCase(HTML_Code), " 0 Then
Spalte = Spalte + 1
End If
If InStr(1, UCase(HTML_Code), " 0 Or InStr(1, UCase(HTML_Code), " 0 Then
MsgBox HTML_Code
End If
Loop
Close #1
End Sub
Jetzt muss man nur noch die Zeichenkette zwischen den beginnenden Tag (z.B. ) und dem schließenden Tag () auslesen. Dies kann man z.B. mit der MID()-Funktion (siehen VB-Hilfe). Damit kann man sich prima den aus der HTML-Seite ausgelesenen Code stückeln. Mittels der oben verwendeten Instr()-Funktion wird einem die Position der gesuchten Zeichenkette angegeben, so dass man sich quasi nur noch der vom vorarbeiten muss und danach ist dann quasi der Zellinhalt bis zum nächsten
- Zeile, 1. Spalte
- Zeile, 2. Spalte
- Zeile, 1. Spalte
- Zeile, 2. Spalte
Ein bissle knifflig wird es, wenn der HTML-Code nicht sauber, also Zeilenweise geordnet geschrieben ist, dann steht ggf. der gesamte HTML-Code in einer Zeile. Es wird also nicht ganz einfach sein, die Spezifika der entsprechenden Seite auszulesen, da diese sehr unterschiedlich sein können.
Viel Spass mein Ausprobieren!