Code: Alles auswählen
Sub calc_setBedingtesFormat
' 2008-01-29
oBlatt = ThisComponent.Sheets.getByName( "Tabelle1" )
oBereich = oBlatt.getCellRangeByName( "B2:B9" )
' Objekt der gesetzten Bedingungen für diesen Bereich
oBedingungen = oBereich.getPropertyValue( "ConditionalFormat" )
' neue Variable
Dim oBedingung(3) as New com.sun.star.beans.PropertyValue
oBedingung(0).Name = "Operator"
oBedingung(0).Value = com.sun.star.sheet.ConditionOperator.LESS
oBedingung(1).Name = "Formula1"
oBedingung(1).Value = "9"
oBedingung(2).Name = "StyleName"
oBedingung(2).Value = "hellgrün"
' hinzu
oBedingungen.addNew( oBedingung )
oBedingung(0).Name = "Operator"
oBedingung(0).Value = com.sun.star.sheet.ConditionOperator.GREATER
oBedingung(1).Name = "Formula1"
oBedingung(1).Value = "19"
oBedingung(2).Name = "StyleName"
oBedingung(2).Value = "hellrot"
' hinzu
oBedingungen.addNew( oBedingung )
' anwenden
oBereich.setPropertyValue( "ConditionalFormat", oBedingungen )
End Sub
Code: Alles auswählen
' die Konstanten der Vergleichsoperatoren:
' http://api.openoffice.org/docs/common/ref/com/sun/star/sheet/ConditionOperator.html
com.sun.star.sheet.ConditionOperator.NONE
com.sun.star.sheet.ConditionOperator.EQUAL
com.sun.star.sheet.ConditionOperator.NOT_EQUAL
com.sun.star.sheet.ConditionOperator.GREATER
com.sun.star.sheet.ConditionOperator.GREATER_EQUAL
com.sun.star.sheet.ConditionOperator.LESS
com.sun.star.sheet.ConditionOperator.LESS_EQUAL
com.sun.star.sheet.ConditionOperator.BETWEEN
com.sun.star.sheet.ConditionOperator.NOT_BETWEEN
com.sun.star.sheet.ConditionOperator.FORMULA
Anmerkung:
die Bedingungen werden zu evtl. vorhandenen Einstellungen hinzugefügt - bis zu 3 Bedingungen per Bereich sind möglich, beim Setzen von weiteren Bedingungen wird keine Fehlermeldung ausgegeben;
ist ein angegebenes Zellformat nicht vorhanden, so wird (ohne Fehlermeldung!) "Standard" gesetzt
HTH