So fügen Sie HTML-Überschriften in Excel ein

396
Reservist72

In einer früheren Antwort ( vba - html table to excel workheet ) über das Analysieren / Einfügen von HTML-Tabelleninhalten in eine Excel-Tabelle teilte wbeard2 diesen sehr hilfreichen, illustrativen Code. Er / Sie stellt fest, dass die Tabellendaten in Excel eingefügt werden, nicht jedoch die Überschriften. Ich habe mich gefragt, wie dieser Code geändert werden kann, um die Spaltenüberschriften auch in die Excel-Tabelle aufzunehmen. Ich dachte, es könnte eine Möglichkeit geben, Überschriftenelemente durchzugehen, die denen ähneln, die für das Durchlaufen aller Zeilen und Zellen in den Zeilen in den Zeilen angezeigt werden, aber nicht sicher, ob es ein gleichwertiges Schleifenelement für Überschriften gibt - vielleicht auch ? Irgendwelche Ratschläge / Hinweise zu diesem Thema werden geschätzt.

Hier war der Beispielcode aus der vorherigen Antwort, auf die oben verwiesen wurde:

Private Sub Test()  Dim ie As Object, i As Long, strText As String  Dim doc As Object, hTable As Object, hBody As Object, hTR As Object, hTD As Object Dim tb As Object, bb As Object, tr As Object, td As Object  Dim y As Long, z As Long, wb As Excel.Workbook, ws As Excel.Worksheet  Set wb = Excel.ActiveWorkbook Set ws = wb.ActiveSheet  Set ie = CreateObject("InternetExplorer.Application") ie.Visible = True  y = 1 'Column A in Excel z = 1 'Row 1 in Excel  ie.navigate "http://",, ,, "Content-Type: application/x-www-form-urlencoded" & vbCrLf  Do While ie.busy: DoEvents: Loop Do While ie.ReadyState <> 4: DoEvents: Loop  Set doc = ie.document Set hTable = doc.GetElementsByTagName("table")   For Each tb In hTable  Set hBody = tb.GetElementsByTagName("tbody") For Each bb In hBody  Set hTR = bb.GetElementsByTagName("tr") For Each tr In hTR   Set hTD = tr.GetElementsByTagName("td") y = 1 ' Resets back to column A For Each td In hTD ws.Cells(z, y).Value = td.innertext y = y + 1 Next td DoEvents z = z + 1 Next tr Exit For Next bb Exit For Next tb  End Sub 
1

0 Antworten auf die Frage