Hallo Zusammen,
das Thema hatte mich vor einiger Zeit schon einmal beschäftigt und ich wollte das mit einer "Function" lösen.
Aber leider ist es nicht möglich über eine "Function" direkt die Farbe einer Zelle mittels
direkt zu ändern.
Jetzt habe ich doch eine Möglichkeit gefunden.
Und zwar über den Weg einer Zellvorlage.
Beispiel:
Zunächst legt man eine eigene Zellvorlage (F11) an. In diesem Beispiel mit dem Namen "Cell_Background_Color"
Der Code für die Function lautet dann:
Code: Alles auswählen
Function Change_BGC()
Dim oDoc
with thisComponent.getSheets().getByName("Tabelle1")
r = .getcellrangebyname("A1").value 'In A1 bis-
g = .getcellrangebyname("A2").value 'A3 stehen die -
b = .getcellrangebyname("A3").value ' rgb-werte
end with
oDoc = ThisComponent
oStyles = oDoc.StyleFamilies 'Vorlagen des Dokumentes anprechen
oCharacterStyles = oStyles.getByName("CellStyles")'Zellvorlagen anprechen
myStyle = oCharacterStyles.getByName("Cell_Background_Color")'erstellte Zellvorlage anprechen
myStyle.CellBackColor = RGB(r,g,b)'Farbe der Zellvorlage zuweisen und somit auch der Zelle
End function
Die Syntax der Zielzelle lautet:
Der Zielzelle dann die Zellvorlage zuweisen.
Die RGB-Werte schreibt man dann in den Zellbereich "A1:A3".
Und schwups ändert sich die Zellfarbe der Zielzelle.
Also, mir persönlich ist das so lieber als mit dem Listner im Hintergrund zu arbeiten.
Vielleicht kann das ja mal jemand brauchen.
Jürgen