Attribuer une couleur à un onglet avec une macro
Bonjour à toutes et à tous,
Je suis nouveau sur le forum et je vais m'efforcer de respecter les règles.
Je travaille en environnement Windows 7 Pro, Windows 10 Pro et MacOs High Sierra.
J'utilise les versions LibreOffice 5.3.7.2 (x64) jusqu'à la toute dernière.
J'ai créé diverses macros afin d'interagir sur un classeur. Jusque là, je n'ai pas rencontré de grosses difficultés grâce aux solutions que j'ai trouvé sur les forums de developpez.net. Un grand merci à toutes et à tous.
Toutefois, il y a une action que je n'arrive pas à automatiser !
Il s'agit d'attribuer une couleur à un onglet. Je précise que cette onglet est la feuille active au moment où je souhaite réaliser cette opération.
J'ai utilisé l'enregistreur de macro afin d'avoir une ébauche de code que je souhaitais adapter ensuite mais le résultat n'est pas satisfaisant. L'onglet reste avec sa couleur par défaut.
Ci-dessous le code... que je ne comprend pas bien je l'avoue !
Si vous avez une explication, une solution à me soumettre, je suis bien entendu preneur.
Par avance, un grand merci à toutes celles et ceux qui pourront me faire avancer.
Fanolito.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| sub MiseEnFormeOnglet
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Nr"
args1(0).Value = 37
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args1())
rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "TabBgColor"
args2(0).Value = -1
dispatcher.executeDispatch(document, ".uno:SetTabBgColor", "", 0, args2())
end sub |