von komma4 » Di, 06.10.2009 11:44
andrel1967 hat geschrieben:Aber an Excel kommt Calc wahrscheinlich nicht ran.
Je nachdem, wie man das verstehen möchte...
Natürlich kannst Du mit StarBasic die Schriftfarbe ermitteln und weiter verarbeiten, auch in einer benutzerdefinierten Funktion, die dann
WAHR oder
FALSCH zurück geben kann.
Wir wollten Dir "nur" helfen, das Ganze einfacher zu gestalten.
Informationen sind einfacher zu verarbeiten, wenn sie gesondert vorliegen (Hilfsspalte), und besser (optisch) zu erfassen, wenn sie aufbereitet wurden. Daraus resultiert die Trennung von Information und Darstellung. Du möchtest alles zusammen haben ... bitteschön
Damit Du nicht bei Excel bleiben musst - oder für andere Code-Suchende, hier eine kleine
benutzerdefinierte Funktion:
Code: Alles auswählen
Function ZelleRot( sTabelle As String, dblZeile As Double, dblSpalte As Double )
If ThisComponent.Sheets().getByName( sTabelle ).getCellByPosition( dblSpalte, dblZeile ).CharColor = RGB(255,0,0) Then
ZelleRot = TRUE
Else
ZelleRot = FALSE
End If
End Function
Es muss der Tabellenname und die Nummer der Zeile, dann Spalte übergeben werden (nicht: der null-basierte Index!, mit dem OOo-Basic intern arbeitet)
Der vorliegende Code fragt die Schriftfarbe "
HELLROT" (OOo-Standardinstallation, RGB-Wert 255,0,0) ab - und funktioniert NUR, wenn die Schrift über
FORMAT>Zelle...>Schrifteffekt>Schriftfarbe zugewiesen wurde - eine bedingte Formatierung wird dadurch nicht ausgewertet.
[quote="andrel1967"]Aber an Excel kommt Calc wahrscheinlich nicht ran.[/quote]
8)
Je nachdem, wie man das verstehen möchte...
Natürlich kannst Du mit StarBasic die Schriftfarbe ermitteln und weiter verarbeiten, auch in einer benutzerdefinierten Funktion, die dann [color=#008000]WAHR [/color]oder [color=#008000]FALSCH [/color]zurück geben kann.
Wir wollten Dir "nur" helfen, das Ganze einfacher zu gestalten.
[b]Informationen sind einfacher zu verarbeiten, wenn sie gesondert vorliegen (Hilfsspalte), und besser (optisch) zu erfassen, wenn sie aufbereitet wurden.[/b] Daraus resultiert die Trennung von Information und Darstellung. Du möchtest alles zusammen haben ... bitteschön
Damit Du nicht bei Excel bleiben musst - oder für andere Code-Suchende, hier eine kleine [color=#0040FF]benutzerdefinierte Funktion[/color]:
[code]Function ZelleRot( sTabelle As String, dblZeile As Double, dblSpalte As Double )
If ThisComponent.Sheets().getByName( sTabelle ).getCellByPosition( dblSpalte, dblZeile ).CharColor = RGB(255,0,0) Then
ZelleRot = TRUE
Else
ZelleRot = FALSE
End If
End Function[/code]
Es muss der Tabellenname und die Nummer der Zeile, dann Spalte übergeben werden (nicht: der null-basierte Index!, mit dem OOo-Basic intern arbeitet)
Der vorliegende Code fragt die Schriftfarbe "[color=#FF0000]HELLROT[/color]" (OOo-Standardinstallation, RGB-Wert 255,0,0) ab - und funktioniert NUR, wenn die Schrift über [color=#008000]FORMAT>Zelle...>Schrifteffekt>Schriftfarbe[/color] zugewiesen wurde - eine bedingte Formatierung wird dadurch nicht ausgewertet.