Hallo Klaus,
kannenklaus hat geschrieben:wie immer SUPER!!
Danke für das Lob.
kannenklaus hat geschrieben:bei verbundenen zellen
Sorry, darüber hatte ich überhaupt nicht nachgedacht.
kannenklaus hat geschrieben:andrew ptionyak meint, dass man mit der methode getCellByName vermeiden kann.
Du meinst bestimmt das hier:
The advantage of getCellByName() is its ability to retrieve cells even in tables with split or merged cells.
Das nützt in diesem Fall aber leider nichts.
Irgendwie habe ich es nicht hinbekommen die Anzahl der Spalten jeder einzelnen Zeile zu bekommen damit die Fehlermeldung nicht kommt.
Deshalb hier erstmal die Holzhammermethode:
Code: Alles auswählen
Sub SwriterZeileOptHoehe
Dim oDoc as Object
Dim oAlleTabellen as Object, oEinzeleneTab as Object
Dim oAlleZeilen as Object, oEinzelneZeile as Object
Dim f as integer
On error resume next
oDoc=ThisComponent
If Not oDoc.SupportsService("com.sun.star.text.TextDocument") then exit sub
oAlleTabellen=oDoc.getTextTables
for iAnzTab = 0 to oAlleTabellen.Count-1
oEinzeleneTab = oAlleTabellen.getByIndex(iAnzTab)
oAlleZeilen = oEinzeleneTab.getRows
myRows=oEinzeleneTab.rows
myColumns=oEinzeleneTab.columns
AnzahlRows = myRows.Count
AnzahlColumns = myColumns.count
for iAnzZe = AnzahlRows -1 to 0 step -1
e = 0
for iAnzSp = 0 to AnzahlColumns -1
myCell = oEinzeleneTab.getCellByPosition(iAnzSp,iAnzZe)
if myCell.String <> "" Then
e = 1
end if
next iAnzSp
if e = 0 Then
rows=oEinzeleneTab.getrows()
rows.removeByIndex(iAnzZe,1)
end if
next iAnzZe
next iAnzTab
End Sub
Der Zauberspruch heisst in diesem Fall:
Vielleicht kann uns ja jemand unter die Arme greifen wie man die Anzahl der Spalten jeder
einzelnen Zeile ausliest. Würde mich echt interessieren.
Bis dann.
Jürgen