Louis Vidonne a écrit :
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 ?
les caractères qui n'ont pas de majuscule ne sont pas des lettres et ne
font donc pas partie d'un mot donc en changeant la ligne suivante chez
moi ça marche (si j'ai bien compris la 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)
commenter :
oMonCurseur.gotoEndOfWord(False)
remplacer par :
oMonCurseur.goRight(1,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
joyeux noël
Hgrac
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]