Calc: Bedingte Formatierung abfragen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Calc: Bedingte Formatierung abfragen

Re: Calc: Bedingte Formatierung abfragen

von Charly » Mi, 28.01.2009 12:56

Hallo!

Ich habe meinen Code erweitert. Damit kann ich auch die Bedingung abfragen und feststellen welche Bedingung erfüllt ist. Ich habe mich aber auf drei Operatoren beschränkt:

Code: Alles auswählen

Sub VorlageSuchen()

Gleich = com.sun.star.sheet.ConditionOperator.EQUAL
Gross = com.sun.star.sheet.ConditionOperator.GREATER
Klein = com.sun.star.sheet.ConditionOperator.LESS
NichtGleich = com.sun.star.sheet.ConditionOperator.NOT_EQUAL
GrossGleich = com.sun.star.sheet.ConditionOperator.GREATER_EQUAL
KleinGleich = com.sun.star.sheet.ConditionOperator.LESS_EQUAL

Doc = ThisComponent
Zelle = Doc.getCurrentSelection
Wert = Zelle.string
Bedingung = Zelle.ConditionalFormat
Anzahl = Bedingung.getcount()
If Anzahl = 0 then
MSGBOX ("Es gibt keine Bedingungen")
exit sub
end if
Bedingungen = Bedingung.getElementNames()
For I = 0 to Anzahl - 1

Bed  = Bedingung.getByName(Bedingungen(I))
Operator = Bed.getOperator
Select Case Operator
Case Gleich
BedWert = Bed.getFormula1
If Wert = BedWert then
Vorlage = Bed.getStyleName()
exit For
end if

Case Gross
BedWert = Bed.getFormula1
If Wert > BedWert then
Vorlage = Bed.getStyleName()
exit For
end if

Case Klein
BedWert = Bed.getFormula1
If Wert < BedWert then
Vorlage = Bed.getStyleName()
exit For
end if
end Select
next

MSGBox(Vorlage)
End Sub


Vielleicht hilft dir das weiter. Ich hoffe es ist kein Fehler drin. Ich konnte ihn nicht mehr vollständig testen.


Gruß
Charly

Re: Calc: Bedingte Formatierung abfragen

von Charly » Mi, 28.01.2009 09:52

Hallo!
Mit folgendem Code kannst die Zellvorlage der Bedingung 1 auslesen

Code: Alles auswählen

Sub VorlageSuchen()
Doc = ThisComponent
Zelle = Doc.getCurrentSelection
Bedingung = Zelle.ConditionalFormat
Bedingungen = Bedingung.getElementNames()
Bed1  = Bedingung.getByName(Bedingungen(0))
Vorlage = Bed1.getStyleName()
MSGBox(Vorlage)
End Sub
Auf diesem Weg kannst du auch andere Teile der Bedingung auslesen. Leider habe ich keinen direkten Weg gefunden, festzustellen, welche der vorgegebenen Bedingungen erfüllt ist und welcher nicht. Nur den indirekten Weg, dass das Makro das selbst über die Zellwerte ermittelt. Aber das hast du wohl nicht gemeint.

Gruß
Charly

Calc: Bedingte Formatierung abfragen

von navy-cis » Di, 27.01.2009 11:44

Hi Leute,

wie kann ich abfragen welche Bedingte Formatierung zutrifft?

ich habe mehrer Zellen und je nach wert drei zustande weiß rot grün. Per code möchte ich bei rot CheckBoxen in einem Dialog auf True setzten.
Was ich bis jetzt gefunden habe ist XSheetConditionalEntry damit kann man den getStyleName abfragen.
Mein Problem ist das ich nicht weis wie

Für jede Hilfe bin ich Dankbar.

Gruß navy-cis

Nach oben