[Résolu][Writer]Programmer une colorisation automatique
Modérateur : Vilains modOOs
Règles du forum
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
-
- NOOuvel adepte
- Messages : 11
- Inscription : 10 janv. 2019 16:26
[Résolu][Writer]Programmer une colorisation automatique
Bonjour, je ne sais pas si cela est possible, mais je souhaiterais pouvoir mettre une certaine couleur à mon texte suivant les caractères.
Par exemple, si j'ai un texte comme celui-ci :
Ceci est mon texte
/* Ceci est mon texte */
( Ceci est mon texte )
Si c'est possible de mettre "/* Ceci est mon texte */" en vert et "( Ceci est mon texte )" en rouge ?
Merci d'avance
Par exemple, si j'ai un texte comme celui-ci :
Ceci est mon texte
/* Ceci est mon texte */
( Ceci est mon texte )
Si c'est possible de mettre "/* Ceci est mon texte */" en vert et "( Ceci est mon texte )" en rouge ?
Merci d'avance
Dernière modification par micmac le 12 janv. 2019 17:13, modifié 1 fois.
Raison : Balisage
Raison : Balisage
AOO 4.1.6 sous Windows 10
-
- Membre hOOnoraire
- Messages : 115
- Inscription : 01 janv. 2006 11:10
- Localisation : Schtroumpfland ouest
Re: [Writer]Programmer une colorisation automatique
Bonjour
Se servir des styles de caractère ne serait-il pas plus simple ?
Se servir des styles de caractère ne serait-il pas plus simple ?
AOO 4.1.6 - Windows 10 x64 Pro
-
- NOOuvel adepte
- Messages : 11
- Inscription : 10 janv. 2019 16:26
Re: [Writer]Programmer une colorisation automatique
C'est à dire ?
J'aimerais que ça le fasse automatique entre certaines suites de caractères.
J'aimerais que ça le fasse automatique entre certaines suites de caractères.
AOO 4.1.6 sous Windows 10
-
- InconditiOOnnel
- Messages : 839
- Inscription : 10 janv. 2009 08:05
Re: [Writer]Programmer une colorisation automatique
Bonjour,
quand tu dis "automatique", tu veux mettre en couleurs les morceaux de textes une fois que tout le texte est tapé (par exemple en appuyant sur un bouton) ou au fur et à mesure que le texte est tapé (à chaque fois qu'on tape un caractère donné)?
dans le premier cas, une recherche avec caractères génériques et le styliste conviendrait peut-être
dans le deuxième cas, il faut faire faire une macro avec un listener, ce qui est plus compliqué à mettre en oeuvre et beaucoup plus long à faire
A plus.
quand tu dis "automatique", tu veux mettre en couleurs les morceaux de textes une fois que tout le texte est tapé (par exemple en appuyant sur un bouton) ou au fur et à mesure que le texte est tapé (à chaque fois qu'on tape un caractère donné)?
dans le premier cas, une recherche avec caractères génériques et le styliste conviendrait peut-être
dans le deuxième cas, il faut faire faire une macro avec un listener, ce qui est plus compliqué à mettre en oeuvre et beaucoup plus long à faire
A plus.
A jour de LibreOffice et de Ubuntu
-
- NOOuvel adepte
- Messages : 11
- Inscription : 10 janv. 2019 16:26
Re: [Writer]Programmer une colorisation automatique
Ce serait la deuxième solution du coup .
AOO 4.1.6 sous Windows 10
-
- Grand Maître de l'OOffice
- Messages : 16960
- Inscription : 03 mars 2006 16:02
- Localisation : Venise verte
Re: [Writer]Programmer une colorisation automatique
Bonjour,
Le premier sujet ayant été posté sans demande de Macro, l'utilisation Rechercher&Remplacer après avoir sélectionné Expressions régulières et avoir créé un Style de caractère :
Recherche d'un mot entre parenthèses :
Application d'un Style de caractère, appelé ici CR_Accentuation_forte :
Le premier sujet ayant été posté sans demande de Macro, l'utilisation Rechercher&Remplacer après avoir sélectionné Expressions régulières et avoir créé un Style de caractère :
Recherche d'un mot entre parenthèses :
Code : Tout sélectionner
(\(([.*)])+\))\(\)
Code : Tout sélectionner
\C{CR_Accentuation_forte}
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
-
- NOOuvel adepte
- Messages : 11
- Inscription : 10 janv. 2019 16:26
Re: [Writer]Programmer une colorisation automatique
Je t'avouerai que je n'ais pas compris ce que tu viens de m'expliquer
AOO 4.1.6 sous Windows 10
-
- GourOOu
- Messages : 5622
- Inscription : 25 nov. 2011 18:07
- Localisation : Guyane
Re: [Writer]Programmer une colorisation automatique
Bonjour
Tu peux testerLe caractère de fin de couleur verte est la barre oblique inversée (antislash). A+
Tu peux tester
Code : Tout sélectionner
Sub RegisterKeyHandler
Dim oView as Object
oView = ThisComponent.getCurrentController
oKeyHandler = createUnoListener("Color_", "com.sun.star.awt.XKeyHandler")
oView.addKeyHandler(oKeyHandler)
End Sub
Sub UnregisterKeyHandler
on error resume next
oDocView.removeKeyHandler(oKeyHandler)
End Sub
Function Color_KeyPressed(oEv) as Boolean
Dim oDoc as Object
Color_KeyPressed = False
End Function
Function Color_KeyReleased(oEv) As Boolean
Color_KeyReleased = False
oDoc = thisComponent
curseurVisible = oDoc.CurrentController.ViewCursor
monCurseur = oDoc.Text.createTextCursor
Select Case oEv.KeyChar
Case "*"
monCurseur.gotoRange(curseurVisible, False)
monCurseur.goLeft(2,True)
If moncurseur.String = "/*" Then
oDoc.CurrentController.Select(monCurseur)
curseurVisible.CharColor = RGB(0,255,0)
curseurvisible.goRight(2,False)
End If
Case "\"
monCurseur.gotoRange(curseurVisible, False)
monCurseur.goLeft(2,True)
If moncurseur.String = "*\" Then
oDoc.CurrentController.ViewCursor.CharColor = -1
End If
Case "("
monCurseur.gotoRange(curseurVisible, False)
monCurseur.goLeft(1,True)
oDoc.CurrentController.Select(monCurseur)
oDoc.CurrentController.ViewCursor.CharColor = RGB(255,0,0)
curseurvisible.goRight(1,False)
Case ")"
oDoc.CurrentController.ViewCursor.CharColor = -1
End Select
End Function
Sub Color_disposing(oEv As Object)
End Sub
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
-
- NOOuvel adepte
- Messages : 11
- Inscription : 10 janv. 2019 16:26
Re: [Writer]Programmer une colorisation automatique
Que doit-je faire du code ?
AOO 4.1.6 sous Windows 10
-
- GourOOu
- Messages : 5622
- Inscription : 25 nov. 2011 18:07
- Localisation : Guyane
Re: [Writer]Programmer une colorisation automatique
Re
Le code est dans le fichier mis en ligne.
Le principe est celui exposé par joel275, la mise en place d'un listener surveillant l'appuie des touches, à l'ouverture du document.
Si les caractères /* sont tapés, la couleur passe en vert, si les caractères *\ sont tapés, la couleur repasse en automatique.
Si le caractère ( est tapé, la couleur passe au rouge, si le caractère ) est tapé, la couleur repasse en automatique.
A+
Le code est dans le fichier mis en ligne.
Le principe est celui exposé par joel275, la mise en place d'un listener surveillant l'appuie des touches, à l'ouverture du document.
Si les caractères /* sont tapés, la couleur passe en vert, si les caractères *\ sont tapés, la couleur repasse en automatique.
Si le caractère ( est tapé, la couleur passe au rouge, si le caractère ) est tapé, la couleur repasse en automatique.
A+
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
-
- NOOuvel adepte
- Messages : 11
- Inscription : 10 janv. 2019 16:26
Re: [Writer]Programmer une colorisation automatique
Jessayerai ça une fois chez moi merci
AOO 4.1.6 sous Windows 10
-
- NOOuvel adepte
- Messages : 11
- Inscription : 10 janv. 2019 16:26
Re: [Writer]Programmer une colorisation automatique
Effectivement cela marche ! ^^
Où es-ce que je peux trouver ces lignes de codes et comment les remettre dans mes futurs documents ?
Merci encore !
Edit : C'est bon j'ai trouvé ! ^^
Je ne peux pas changer la fin de colorisation "*\" par "*/" ?
Où es-ce que je peux trouver ces lignes de codes et comment les remettre dans mes futurs documents ?
Merci encore !
Edit : C'est bon j'ai trouvé ! ^^
Je ne peux pas changer la fin de colorisation "*\" par "*/" ?
AOO 4.1.6 sous Windows 10
-
- GourOOu
- Messages : 5622
- Inscription : 25 nov. 2011 18:07
- Localisation : Guyane
Re: [Writer]Programmer une colorisation automatique
Re
Teste, tu verras le résultat.
A+
Tu as déjà ce caractère en début de la coloration verte.MantesURH17 a écrit :Je ne peux pas changer la fin de colorisation "*\" par "*/" ?
Teste, tu verras le résultat.
A+
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
-
- NOOuvel adepte
- Messages : 11
- Inscription : 10 janv. 2019 16:26
Re: [Writer]Programmer une colorisation automatique
J'ai /* en début j'aimerais */ en fin c'est pas le même ... si ? ^^
AOO 4.1.6 sous Windows 10
-
- GourOOu
- Messages : 5622
- Inscription : 25 nov. 2011 18:07
- Localisation : Guyane
Re: [Writer]Programmer une colorisation automatique
Re
Le déclenchement du listener se fait à chaque fois qu'un caractère du select case est tapé.
À priori */ en fin de couleur verte semble fonctionner sous AOO, pas sous LibO.
A+
Le déclenchement du listener se fait à chaque fois qu'un caractère du select case est tapé.
À priori */ en fin de couleur verte semble fonctionner sous AOO, pas sous LibO.
A+
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
-
- NOOuvel adepte
- Messages : 11
- Inscription : 10 janv. 2019 16:26
Re: [Writer]Programmer une colorisation automatique
Comment puis je le changer ? J'ai essayer de le modifier dans le code que tu m'as donné mais ça ne semble pas fonctionner
AOO 4.1.6 sous Windows 10
-
- GourOOu
- Messages : 5622
- Inscription : 25 nov. 2011 18:07
- Localisation : Guyane
Re: [Writer]Programmer une colorisation automatique
Bonjour
Le fichier modifié.
A+
Le fichier modifié.
A+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
-
- NOOuvel adepte
- Messages : 11
- Inscription : 10 janv. 2019 16:26