Verbundene Zellen wieder in "sauber" geteilten Zustand zurückversetzen

08/07/2009 - 12:34 von Frank Glück | Report spam
Hallo zusammen,

mit der nachfolgenden Sub, deren Code ich mir aus diesem Makro
http://4haus.de/tips/wordtohtml.html
geklaut habe, kann ich einfache Tabellen in meinem Word-Dokument (v2007)
nach HTML konvertieren:

= schnipp
Sub Tabellen()
Set doc = ActiveDocument
' Tabellen
' wenn in der ersten Zeile das erste Zeichen fett ist, wird
vorausgesetzt,
' daß es sich um die Tabellenüberschrift handelt
For Each tbl In doc.Tables
tbl.Rows.AllowBreakAcrossPages = False
tbl.Rows.HeadingFormat = False
For Each tr In tbl.Rows
For Each td In tr.Cells
Set r = td.Range
If tr.Index = 1 And r.Characters.First.Bold = True Then
r.Bold = False
r.InsertBefore "<th>"
r.InsertAfter "</th>"
Else
r.InsertBefore "<td>"
r.InsertAfter "</td>"
End If
Next td
Set r = tr.Range
r.InsertBefore "<tr>"
r.InsertAfter "</tr>"
Next tr
Set r = tbl.Range
r.InsertBefore "<table>"
r.InsertAfter "</table>"
tbl.ConvertToText Separator:=" "
Next tbl
End Sub

= schnapp
Das klappt aber auch nur, solange meine Tabellen keine vertikal
verbundenen Zellen enthalten (mglw. auch nicht bei horizontal verbundenen
Zellen?) und zwar mit dieser ausnahmsweise mal recht verstàndlichen
Begründung:


Microsoft Visual Basic

Laufzeitfehler '5991':

Es können keine individuellen Reihen in dieser Sammlung adressiert werden,
weil die Tabelle vertikal verbundene Zellen enthàlt.

OK Hilfe


Deshalb war meine Überlegung, einfach erstmal alle in meinen Tabellen
enthaltenen Zellen auf Vorkommen solcher verbundenen Zellen zu untersuchen
und ggf. deren Verbindungen (automatisiert!) aufzulösen. Der Split-Befehl
scheint aber keine Option zu kennen, die den "sauber" geteilten Zustand
wiederherstellt, sondern erwartet einfach stur Vorgaben zu der im Ergebnis
gewünschten Anzahl an horizontalen und vertikalen Zellen. Eine Eigenschaft
der verbundenen Zelle, die mir Auskunft über ihre Zusammensetzung aus
horizontalen und vertikalen Ursprungszellen geben würde, habe ich auch
nicht gefunden.

Dabei meine ich mich zu erinnern, dass es in früheren Word-Versionen die
Funktion gab, miteinander verbundene Zellen einfach per Knopfdruck wieder
aufzulösen - also ohne selbst irgendwelche weiteren Vorgaben machen zu
müssen. In Word 2007 finde ich diese Funktion aber leider auch nicht mehr
...

Wie krieg ich das nun elegant gelöst? Und nein, ich will nicht das
Dokument einfach als HTML-Dokument speichern.

Schon mal vielen Dank und Grüße,
Frank
 

Lesen sie die antworten

#1 Thomas Gahler
08/07/2009 - 22:59 | Warnen spam
Hallo Frank


Dabei meine ich mich zu erinnern, dass es in früheren Word-Versionen die
Funktion gab, miteinander verbundene Zellen einfach per Knopfdruck wieder
aufzulösen - also ohne selbst irgendwelche weiteren Vorgaben machen zu
müssen. In Word 2007 finde ich diese Funktion aber leider auch nicht mehr


Ich habe folgendes gefunden, weiss aber nicht ob du damit weiter kommst.

Cursor in Tabelle setzen -> Register Layout / Gruppe Zusammenführen / Zellen
teilen



Und nein, ich will nicht das Dokument einfach als HTML-Dokument
speichern.


Was spricht eigentlich dagegen, kannst ja von dort die entsprechenden
HTML-Zeilen ausschnipseln...




Thomas Gahler
MVP für Word
Co-Autor von »Microsoft Word-Programmierung.
Das Handbuch« (MS Press)


- Windows Vista (SP1), Office 2007 (SP1)

Ähnliche fragen