Archiv des LibreOffice- und OpenOffice.org-Wiki

[ÜberSicht] [TitelIndex] [WortIndex] [SeiteFinden

(./) SO6 OOo1.1

Dieses Makro ermöglicht es in TextTabellen die Hintergrundfarbe der Zeilen abwechselnd zu gestalten.

1. Tabellen mit wechselnden Zeilenfarben erzeugen

Um die Lesbarkeit von Tabellen zu verbessern, ist es manchmal erwünscht, jede zweite Zeile farblich abzusetzen. Dies kann entweder durch die Verwendung von AbsatzVorlagen erreicht oder durch dieses Makro automatisiert werden.

In der vorliegenden Form wird jede zweite Zeile, beginnend mit der ersten Zeile, mit der gewünschten Farbe hinterlegt. Da evtl. nicht alle Tabellen in einem Dokument eingefärbt werden sollen, ist es möglich dies durch den Tabellennamen zu steuern: Das Makro färbt nur Tabellen ein, deren Name auf farb endet. Soll das Umfärben mit der zweiten Zeile beginnen, muss im Makro die Zeile For J = 0 To ... in For J = 1 To ... geändert werden. Soll eine andere Hintergrundfarbe für die Markierung verwendet werden, ersetzen Sie im Makro den Wert &HFFFF00 (für gelb) durch &H und die Hexadezimale_Farbdefinition, also z.B. &H008000 für grün.

1.1. Tabellen kennzeichnen

Die Tabellen, die umgefärbt werden sollen, müssen einen Namen haben, der auf "farb" endet. Setzen Sie den Cursor dazu in die Tabelle, wählen Sie dann den Dialog Format → Tabelle und änderen Sie dort den vorgegebenen Namen:

zebratabelle_format_dialog.jpeg

Nach Ausführen des Makros sollte das Ergebnis wie in diesem Beispiel aussehen:

zebratabelle_demobild.jpeg

2. Makro

Sub ZeilenFarbWechsel
        Dim oDoc As Object
        Dim oTextTabellen As Object
        Dim oTabelle As Object
        Dim oAnzZeil As Object
        Dim oZeile As Object
        Dim I As Integer
        Dim J as Integer
        oDoc = Thiscomponent
        oTextTabellen = oDoc.getTextTables()
        For I = 0 to oTextTabellen.count - 1
                oTabelle = oTextTabellen(I)
                If Right(oTabelle.Name,4) = "farb" Then
                oAnzZeil = oTabelle.getRows
                Rem Wenn die erste Zeile farblos bleiben soll J=0 in J=1 ändern
                For J = 0 To oAnzZeil.getCount() - 1 step 2
                        oZeile = oAnzZeil.getByIndex(J)
                        oZeile.BackColor = &HFFFF00
                Next J
                End If
        Next I
End Sub


KategorieMakro KategorieWriter


LizenzBedingungen | AnbieterKennzeichnung | DatenschutzErklärung | Stand: 2013-04-28