Bonjour la liste,

Merci beaucoup pour votre réponse.
En fait, le problème était le suivant : Pendant l'enregistrement de la macro, un clic dans le texte pour casser la sélection fonctionne, mais n'est pas enregistré.

J'ai testé avec une flèche du clavier. c'est OK, et un peu lourd :

*dim args8(1) as new com.sun.star.beans.PropertyValue*

*args8(0).Name = "Count"*

*args8(0).Value = 1*

*args8(1).Name = "Select"*

*args8(1).Value = false*

*dispatcher.executeDispatch(document, ".uno:GoUp", "", 0, args8())*


Oui, un peu lourdingue, mais ça fait le job. Et ensuite :

*dispatcher.executeDispatch(document, ".uno:GoToStartOfDoc", "", 0, Array())*


D'après votre réponse, la dernière ligne suffit.
Je vais vérifier.
C'est probable que, à cause du clavier de portable, je faisais "Ctrl+flèche vers le haut"
au lieu de "Ctrl+Origine". Et ça ne pétait pas la sélection.

Encore merci pour votre réponse, c'est sympa.

Bonne semaine,

Le 11/02/2018 à 21:31, Jean-Francois Nifenecker a écrit :
Bonjour,

Le 10/02/2018 à 17:37, demande_aide...@libreoffice.org a écrit :

Je voudrais créer une macro enregistrée qui :
. Sélectionne l'ensemble d'un document Writer
. Effectue des changements globaux : polices, espacement des paragraphes, ...
. Casse la sélection et positionne le curseur entête du document

Tout fonctionne, sauf l'étape finale : Le clic dans le document pour casser la sélection n'est pas enregistré dans la macro, et le retour à la première ligne ne fonctionne pas non plus.
C'est curieux.

Ctrl-Origine n'est pas enregistré ?

Testé ici, ça donne :
dispatcher.executeDispatch(document, ".uno:GoToStartOfDoc", "", 0, Array())

La sélection n'est pas annulée ?

si tel est le cas, voici un bout de code qui doit convenir :
8< -------------------------------------------------
Dim lo_VCur As Object

lo_VCur = ThisComponent.CurrentController.ViewCursor
lo_VCur.gotoStart(False)
------------------------------------------------- >8

ce code fait appel au curseur visible et l'amène au début du texte (.gotoStart()), sans sélectionner (False).


Si vous répondez, merci de penser à utiliser la fonction "répondre à tous" de votre logiciel de courrier électronique de façon que la liste reçoive une copie de votre réponse.

Bien cordialement,


--
Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire
Les archives de la liste sont disponibles à 
https://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne 
pourront pas être supprimés

Répondre à