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]

Répondre à