[Writer] Récupérer couleur d'un texte: équivalent pipette

Vos meilleures macros et portions de code sont publiées dans cette section.
Aucun support sur une question de programmation ici !

Modérateur : Vilains modOOs

Règles du forum
Aucune question dans cette section !
Celle-ci rassemble les meilleures macros et portions de code. Vous pouvez en revanche commenter ou argumenter le code exposé. Vous pouvez même remercier l'auteur (cela fait toujours plaisir) en indiquant par exemple dans quel cadre ou contexte vous en avez eu l'utilité.
Si vous avez à poster quelque chose, faites-le depuis la section Macros et API et demandez à un modérateur de l'y déplacer.
beguam
Fraîchement OOthentifié
Messages : 1
Inscription : 24 avr. 2009 16:22

[Writer] Récupérer couleur d'un texte: équivalent pipette

Message par beguam »

Bonjour,
Le Modérateur a écrit :Message déplacé du sujet
Récupérer couleur : équivalent pipette
http://user.services.openoffice.org/fr/ ... 642#p47642
J'ai eu le même soucis : je voulais récupérer le code couleur RVB d'un caractère pour pouvoir le créer dans la palette.
J'ai réussi à programmer une petite macro qui affiche dans une boîte de message les codes RVB de la couleur du texte sélectionné.
Comme je ne suis pas un expert en Basic, je n'ai pas cherché à faire la même chose pour une bordure, un cadre... mais à mon avis, c'est possible.

Code : Tout sélectionner

sub CodeCouleur

Dim couleur As Long
Dim Rouge As Integer, Vert As Integer, Bleu As Integer
 
rem oCurSelection = thisComponent.getCurrentSelection()
oCurSelection = thiscomponent.CurrentController.Selection

if oCurSelection.supportsService("com.sun.star.text.TextRanges") then
   nCount = oCurSelection.Count
   if nCount = 1 then
      oTextRange = oCurSelection.getByIndex(0)
      'Do some action on oTextRange
   else
      for i = 0 to nCount - 1
         oTextRange = oCurSelection.getByIndex(i)
         'Do some action on oTextRange
      next
   end if
end if

couleur = oTextRange.CharColor
  Bleu = Int(couleur Mod 256)
  Vert = Int((couleur Mod 65536) / 256)
  Rouge = Int(couleur / 65536)

MsgBox "Code couleur 'Long' : " & couleur & Chr(13) & "Rouge : " & Rouge & Chr(13) & "Vert : " & Vert & Chr(13) & "Bleu : " & Bleu

end sub
Dernière modification par Papayes le 24 avr. 2009 16:57, modifié 1 fois.
Raison : Message déplacé, titre légèrement complété
Avatar de l’utilisateur
Papayes
Membre fOOndateur
Membre fOOndateur
Messages : 4154
Inscription : 07 déc. 2005 13:55
Localisation : Vic-Fezensac dans le Gers

Re: [Writer] Récupérer couleur d'un texte: équivalent pipette

Message par Papayes »

Bonjour et bienvenue sur le forum,

Je vous remercie de votre message que vous aviez placé à la suite du fil
Récupérer couleur : équivalent pipette
http://user.services.openoffice.org/fr/ ... 642#p47642

J'espère que votre macro fera des petites afin de compenser l'absence de pipette donnant les valeurs de RVB dans un document OOo.

Merci à vous,
Cordialement,
"Tout ce qui n'est pas donné est perdu"
Avatar de l’utilisateur
Alain de La Chaume
HédOOniste
HédOOniste
Messages : 1527
Inscription : 28 sept. 2008 12:56
Localisation : ʇsǝnoo,ꞁ ɐ ʇuǝɯǝʇǝꞁdɯoↃ

Re: [Writer] Récupérer couleur d'un texte: équivalent pipette

Message par Alain de La Chaume »

Bonjour à tous, bonjour Beguam.
Tout d'abord, merci à Beguam, dont le code d'extraction des valeurs RVB d'une couleur m'a inspiré un petit exercice.
Papayes, le 24 Avr 2009 à 18:50, dit à ce sujet :
J'espère que votre macro fera des petites [...]
Voici donc, en fichier joint, une petite en question.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
(API-culteur et pêcheur de macros en mode loisirs occasionnels, mais toujours les pieds dans l'OO)
AOO 4.1.2 sous Linux Xubuntu Voyager 14.04 (x86_64)
Avatar de l’utilisateur
Papayes
Membre fOOndateur
Membre fOOndateur
Messages : 4154
Inscription : 07 déc. 2005 13:55
Localisation : Vic-Fezensac dans le Gers

Re: [Writer] Récupérer couleur d'un texte: équivalent pipette

Message par Papayes »

Bonjour à vous deux,

boudiou ! quelle belle réalisation, :bravo: :bravo:
digne d'un suprême de code.

Cordialement,
"Tout ce qui n'est pas donné est perdu"
Avatar de l’utilisateur
Alain de La Chaume
HédOOniste
HédOOniste
Messages : 1527
Inscription : 28 sept. 2008 12:56
Localisation : ʇsǝnoo,ꞁ ɐ ʇuǝɯǝʇǝꞁdɯoↃ

Re: [Writer] Récupérer couleur d'un texte: équivalent pipette

Message par Alain de La Chaume »

Bonjour à tous.

J'ai apporté quelques améliorations et corrections à l'utilitaire Couleur texte.
Voici donc, avec tous mes voeux de bonne et heureuse année,
une petite mise à jour d'icelui.
couleurTexte_v3c.odt
Compatibilité avec OOO 2.4.2 testée avec succès.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
(API-culteur et pêcheur de macros en mode loisirs occasionnels, mais toujours les pieds dans l'OO)
AOO 4.1.2 sous Linux Xubuntu Voyager 14.04 (x86_64)