von komma4 » Mo, 12.07.2010 09:48
Beim Durchlesen alter, offener Posts bin ich auf Dein Problem gestossen.
Wie könnte es (bei mir) anders sein, als mich an einem Makro zu versuchen.
Herausgekommen ist Folgendes (vllt. kannst Du -oder andere- es gebrauchen):
Code: Alles auswählen
REM ***** BASIC *****
CONST cTabName = "Tabelle1"
Sub de38154
' Version 1 2010-07-12
' zählen der Einträge einer Texttabelle
oDok = ThisComponent
oTab = oDok.Texttables().getByName( cTabName )
for lSpalte = 0 To oTab.Columns().Count - 1
lZaehler = 0
for lZeile = 2 To oTab.Rows().Count - 3
oZelle = oTab.getCellByPosition( lSpalte , lZeile )
If oZelle.String > "" Then
lZaehler = lZaehler + 1
End If
next lZeile
oTab.getCellByPosition( lSpalte, 1 ).setString( lZaehler )
next lSpalte
End Sub
Verwendete Datendatei, OOo 3.0.1/Linux, ODF 1.1
- de38154.odt
- Beispieldaten und Makro zu de38154
- (16.73 KiB) 19-mal heruntergeladen
Beim Durchlesen alter, offener Posts bin ich auf Dein Problem gestossen.
Wie könnte es (bei mir) anders sein, als mich an einem Makro zu versuchen.
Herausgekommen ist Folgendes (vllt. kannst Du -oder andere- es gebrauchen):
[code]
REM ***** BASIC *****
CONST cTabName = "Tabelle1"
Sub de38154
' Version 1 2010-07-12
' zählen der Einträge einer Texttabelle
oDok = ThisComponent
oTab = oDok.Texttables().getByName( cTabName )
for lSpalte = 0 To oTab.Columns().Count - 1
lZaehler = 0
for lZeile = 2 To oTab.Rows().Count - 3
oZelle = oTab.getCellByPosition( lSpalte , lZeile )
If oZelle.String > "" Then
lZaehler = lZaehler + 1
End If
next lZeile
oTab.getCellByPosition( lSpalte, 1 ).setString( lZaehler )
next lSpalte
End Sub[/code]
Verwendete Datendatei, OOo 3.0.1/Linux, ODF 1.1
[attachment=0]de38154.odt[/attachment]