3 messages in org.openoffice.fr.progMise en majuscules
FromSent OnAttachments
Louis VidonneDec 24, 2006 3:07 am 
Hervé GracDec 24, 2006 3:36 am 
Louis VidonneDec 24, 2006 9:17 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Mise en majusculesActions...
From:Louis Vidonne (loui@wanadoo.fr)
Date:Dec 24, 2006 3:07:32 am
List:org.openoffice.fr.prog

Bonjour,

J'ai écrit une macro qui me permet dans Writer de mettre en majuscule la lettre précédent le curseur ; ça me sert pour mettre en majuscule le ç et les voyelles accentuées, quel que soit le style. Cette macro marche bien, sauf si je l'emploie par inadvertance avec un caractère qui n'a pas de majuscule (les " ' - _ = ^$ * etc.). Ces caractères sont laissés inchangés (ce qui est correct) mais la remise en mode CaseMap NULL ne se fait pas : les caractères suivants sont tous mis en majuscules.

Quelqu'un a-t-il une idée de ce qui se passe ?

Je vais devoir, avant de changer le CaseMap, tester que le caractère sélectionné a bien une majuscule ; mais j'aimerais juste comprendre pourquoi ...

Merci d'avance de votre aide.

J'en profite pour souhaiter un Joyeux Noël à toute la liste !

Cordialement, Louis

---------------- Voici ma macro :

Sub UpperCase() ' mise en majuscule (sans autre changement de style) du caractère à la gauche du curseur visible) ' les caractères qui seront tapés ensuite seront dans le style courant Dim oMonTexte As Object, oMonDoc As Object Dim oMonCurseur As Object, oCurseurVisible As Object oMonDoc = thisComponent oMonTexte = oMonDoc.Text oCurseurVisible = oMonDoc.CurrentController.ViewCursor ' le curseur de travail prend la position du curseur visible oMonCurseur = oMonTexte.createTextCursorByRange(oCurseurVisible) ' On recule d'un caractère ; le True signifie qu'on étend la sélection oMonCurseur.goLeft(1, True) ' on met la sélection en majuscules oMonCurseur.CharCaseMap = com.sun.star.style.CaseMap.UPPERCASE ' on retourne à la fin du mot (sans étendre la sélection) oMonCurseur.gotoEndOfWord(False) ' et on enlève tout formatage local oMonCurseur.CharCaseMap = com.sun.star.style.CaseMap.NONE ' c'est ici que ça coince semble-t-il End Sub