Bernard Marcelly a écrit :
Bonjour pac
Message du 2005-12-13 11:24:
Bonjour tout le monde.
Dans le livre /Programmation OpenOffice.org Macros OOoBasic et API./
Je n'ai pas trouvé de code ou d'exemple pour faire des formatages
conditionnels sur des cellules.
Connaissez-vous des liens qui expliquerait comment faire ou des
exemples ?
Developer's Guide, chapitre 8.3.2
Bonjour Bernard, en fait le code qu'on trouve est utilise pas mal de
com.sun.star.beans.Property, il n'est pas possible de le faire via une API ?
En fait, pour récupérer les informations des format conditionnels, ou
les modifier, j'y arrive, mais pour créer de nouveaux format
conditionnels, c'est bien plus galère.
Voici le code dont je me sers pour faire les tests
Sub Main
Dim oRange as Object
Dim oCondition as Object
oRange = thisComponent.currentSelection
oCondition = oRange.ConditionalFormat
If oCondition.Count = 0 Then
Dim oNouvelleCondition( 3 ) as new com.sun.star.beans.PropertyValue
oNouvelleCondition( 0 ).Name = "Operator"
oNouvelleCondition( 0 ).Value = "com.sun.star.sheet.EQUAL"
oNouvelleCondition( 1 ).Name = "Formula1"
oNouvelleCondition( 1 ).Value = "2"
oNouvelleCondition( 2 ).Name = "StyleName"
oNouvelleCondition( 2 ).Value = "Titre"
' oCondition.addNew( oNouvelleCondition ) ' Quand je fais ceci, j'ai
une erreur : "Les dimensions indiquées ne concordent pas".
Dim MonObjet as Object
' Dim MonOjet as new com.sun.star.sheet.TableConditionalEntry ' Il
refuse en disant "Référence d'objet incorrecte"
MonObjet = thisComponent.createInstance(
"com.sun.star.sheet.TableConditionalEntry" ) ' Il refuse de créer une
instance
oCondition.addNew( MonObjet )
MonObjet.Operator = "com.sun.star.sheet.EQUAL" ' Ici, il ne connait
pas la propriété Operator car l'objet ne supporte pas le service
"com.sun.star.sheet.TableConditionalEntry
End If
For i = 0 To oCondition.Count - 1
' MsgBox oCondition.getByIndex( i ).Operator
MsgBox oCondition.getByIndex( i ).StyleName
MsgBox oCondition.getByIndex( i ).Formula1
MsgBox oCondition.getByIndex( i ).Formula2
Next i
End Sub
Je ne sais plus trop quoi tester pour arriver à faire marcher tout ça en
fait.
Merci pour votre aide.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]