2017-05-04 6 views
-1

Ich habe ein Problem mit "getElementsByClassName". Ich versuche nur die erste Klasse ohne Kind zu bekommen.VBA Excel getElementsByClassName ohne Kind

ich habe: Set elements = html.getElementsByClassName("typstable")

Aber in den Ergebnissen, ich habe auch "typstable tabMundial", was nicht benötigt wird. Wie kann ich nur das erste Ergebnis oder genau den Namen der Klasse ohne Kind nehmen?

+0

Konnten Sie gerade unerwünschte Einzelteile von der Elementansammlung entfernen? –

+0

Schwer zu tun, weil es nur Tags tr und td ohne ID oder Klassen gibt und ich weiß nicht genau Menge der Datensätze für die Tabellen, was ich will. Tabellen haben zufällige Datensatznummern. Ich kann die Daten im Excel überprüfen, ob die Einträge korrekt sind und die falschen löschen, aber ich hoffe, es gibt eine bessere Lösung wie "html.getElementsByClassName (" typstable ") [1] oder html.getElementsByClassName (" typstable ") (1)" Ich weiß es nicht. Aber diese Lösung macht auch das Problem, wenn die Klasse mit Kind zuerst ist, so dass die beste Lösung nur das Klassen-Tag ohne Childes sein wird. – yamik

Antwort

0

Ok, ich habe eine Lösung dafür.

Dim element As IHTMLElement 
Set element = html.getElementsByClassName("typstable")(0) 

ich versuchte vor:

Dim elements As IHTMLElementCollection 
Set elements = html.getElementsByClassName("typstable")(0) 

Meine dummen Fehler mit der Sammlung.