HTML Code Spaltenbreite
03.11.2012 20:55:08
Franc
Im Urcode sind die Spalten bei z B einer 2-Spaltigen Tabelle nicht immer gleich breit.
Da ist zum Beispiel die 1. Spalte 70% und die 2. 30% und eine Tabelle weiter ist die 1. Spalte 60% und die 2. 40%.
Sieht natürlich doof aus.
So - wird eventuell schwer zu erklären aber ich habe auch 2 Beispieltabellen. ^^
So wie es in der txt ist, habe ich es auch in VBA in einem Array vorliegen.
Die Tabellenbreite dort ist so wie in den Beispieldateien nur in % angegeben aber das ist egal, weil sie durch feste Werte ersetzt wird.
Die Tabellenbreite ist immer 555 Punkte.
http://needful-files.de/excel/test.html
http://needful-files.de/excel/test.txt
Ziel:
Die Spaltenbreite von verschiedenen Tabellen angleichen.
Momentane Vorgehensweise.
Ich zähle die Spalten und ersetze anschließend die Spaltenbreite im Code.
Dazu habe ich ein Array. Sieht so aus.
arSpalten = Array("420", "125","295", "125", "215", "110", "215", "82")
Diese sind immer paarweise angeordnet.
Bei 2 Spalten = 1. Spalte arSpalten(0) = 420 Pkt und die 2. arspalten(1) = 125 Pkt.
Bei 3 Spalten = 1. Spalte arspalten(2) = 295 Pkt und jede weitere arspalten(3) = 125 Pkt oder wenn 2 verbunden sind ein vielfaches aus arspalten(3)
etc.
Das ganze funktioniert auch aber es kann vorkommen, das eine Tabelle wie die untere dabei ist und genau da funktioniert diese Vorgehensweise nicht.
Das Problem ist, das dort in der Zeile die Spalten nicht verbunden sondern noch mal geteilt sind wodurch in jeder Zeile in der selben Spalte colspan 2 drin steht.
Nehmen wir an eine Spalte soll 120 Pkt breit werden.
Mit meiner aktuellen vorgehensweise würde das jetzt 2 * 120 Pkt breit werden was aber falsch wäre. Hier soll sie trotzdem nur 120 Pkt breite sein und in der Zeile wo die Spalte gtrennt ist, sollen die geteilten Spalten nur 60 Pkt breit sein.
Jetzt müßte ich aber einen Weg finden um zu sehen ob die Spalte Colspan x im Code hat weil sie über 2 Spalten geht oder ob das nur so ist weil weiter unten in einer Zeile die Spalte geteilt wurde.
Fällt irgendwem eine Methode ein wie ich das anstellen könnte?
Oh man ... je mehr ich schreibe desto schlimmer wirds. ^^