[PDF] Chapitre 13 Débuter avec les macros





Previous PDF Next PDF



Tuto LibreOffice Calc

Tuto LibreOffice Calc. Rémy Guyonneau. Module Culture Numérique. ISTIA Université d'Angers. Tutoriel réalisé avec LibreOffice Version 5.1.4.2 pour Ubuntu



Chapitre 5 Débuter avec Calc

20 janv. 2017 Basé sur LibreOffice 5.1. Les captures d'écran sont effectuées sous Windows 10 avec le jeu d'icônes Galaxy. La documentation française de ...



Chapitre 5 Débuter avec Calc

15 mars 2019 barre de menu puis en ouvrant la page LibreOffice Calc – Formule dans la boîte de dialogue Op- tions pour choisir Excel A1 dans la liste ...



Libreoffice : Calc (tableur)

choisissez le disque sur lequel vous souhaitez enregistrer. ? votre document. Tutoriel LibreOffice 02 : classeur - Julien Giraudon Médiathèque de Montalieu- 



Premiers pas avec LibreOffice

Vous pouvez vous servir de Calc aussi pour des collectes de données à importer dans d'autres documents. Calc vous permet d'avoir plus d'un tableur dans un 



Chapitre 3 Créer des Diagrammes et des Graphiques

24 avr. 2012 LibreOffice Calc propose une variété de formats de diagrammes et de graphiques pour vos données. Avec Calc vous pouvez personnaliser vos ...



Tutorial OpenOffice.org Calc

Tutorial OpenOffice.org Calc. Yves Combes framasoft. « Partir de Windows pour découvrir le libre » www.framasoft.net. Logiciel : OpenOffice.org (Calc).



Chapitre 13 Débuter avec les macros

15 juil. 2013 Plus d'informations sur fr.libreoffice.org ... Calc les actions sur les formulaires de base de données et l'export des documents vers des ...



PROCEDURE dOUVERTURE dun FICHIER CSV avec

Cliquez droit sur le fichier téléchargé puis sélectionnez « Ouvrir avec » et cliquez sur « LibreOffice. Calc » pour l'ouvrir :.



Formules et Fonctions

26 mai 2012 Ce chapitre est basé sur le Chapitre 7 de OpenOffice.org 3.3 Calc Guide. ... La documentation pour LibreOffice est disponible à ...

Version 4.0

Guide du débutant

Chapitre 13

Débuter avec les macros

Automatiser les tâches répétitives

LibreOffice est une marque déposée de The Document Fondation

Plus d'informations sur fr.libreoffice.org

Copyright

Ce document est Copyright © 2010-2013 par ses contributeurs tels que listés ci-dessous. Vous pouvez le distribuer et/ou le modifier sous les termes des licences GNU General Public License (http://www.gnu.org/licenses/gpl.html), version 3 ou ultérieure ou Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0/), version 3.0 ou ultérieure.

Tous les noms de marque à l'intérieur de ce guide appartiennent à leur propriétaire légitime.

Contributeurs

Auteur : Christian Chenal

Relecteurs : Pierre-Yves Samyn

Retours

Veuillez envoyer vos commentaires ou suggestions à propos de ce document à : doc@fr.libreoffice.org

Remerciements

Ce chapitre est basé sur les Chapitres 13 de Getting Started with OpenOffice.org 3.3 (anglais) et LibreOffice 4.0 Getting Started Guide (anglais). Les contributeurs à ces chapitres sont : Andrew PitonyakJean Hollis WeberRon Faile Jr.Martin Fox

Peter Schofield

Date de publication et version du logiciel

Publié le 15 juillet 2013. Basé sur LibreOffice 4.0.2.

Apparence de LibreOffice

LibreOffice fonctionne sous les systèmes d'exploitation Windows, Linux et Mac OS X, chacun de ces systèmes pouvant exister sous plusieurs versions. Chacune de ces configurations peut donner

lieu à des options d'affichage différentes (polices, couleurs, thèmes, gestionnaire de fenêtres,

icônes). De plus, ces options d'affichage sont pour certaines personnalisables par les utilisateurs.

Les illustrations de ce chapitre ont été réalisées sous Windows avec le jeu d'icônes Galaxy.

Certaines images ne ressembleront donc pas exactement à ce que vous voyez sur votre

ordinateur. En cas de confusion sur une icône, dont l'apparence peut être très différente d'un jeu à

l'autre, vous pouvez vérifier son nom, qui apparaît dans l'infobulle lorsque vous placez le pointeur

de la souris au-dessus.

Note pour les utilisateurs Mac

Certaines combinaisons de touches et certains éléments de menus sont différents entre un Mac et

Windows ou Linux. La table ci-dessous donne quelques équivalents pour les instructions de ce chapitre. Pour une liste plus détaillée, voyez dans l'Aide.

Windows/LinuxÉquivalent MacEffet

Sélection de menu

Outils > OptionsLibreOffice > PréférencesAccès aux options de paramétrage

Clic droit⌘+clicOuvre un menu contextuel

Ctrl (Contrôle)⌘ (Commande)Utilisé avec d'autres touches

F5Maj+⌘+F5Ouvre le Navigateur

F11⌘+TOuvre la fenêtre Styles & Formatage

Table des matières

Apparence de LibreOffice................................................................................................................2

Note pour les utilisateurs Mac..........................................................................................................3

Vos premières macros.....................................................................................................................5

Ajouter une macro.......................................................................................................................5

Enregistrer une macro.................................................................................................................8

Exécuter une macro....................................................................................................................8

Afficher et éditer des macros.......................................................................................................9

Commentaires REM..............................................................................................................10

Définir des sous-routines avec SUB......................................................................................10

Définir des variables avec DIM.............................................................................................10

Explication du code de la macro...........................................................................................10

Une macro plus complexe..............................................................................................................11

Enregistrement de la macro.......................................................................................................12

Exécuter rapidement une macro................................................................................................14

Limites de l'enregistrement de macro.............................................................................................15

Schéma de transmission des commandes................................................................................15

Comment l'enregistrement de macro utilise le schéma de transmission des commandes.........15

Autres options...........................................................................................................................16

Organisation des macros...............................................................................................................16

Où les macros sont-elles enregistrées ?....................................................................................17

Importer des macros..................................................................................................................18

Comment exécuter une macro ?....................................................................................................19

Barres d'outils, éléments de menus et raccourcis clavier..........................................................19

Écrire des macros sans enregistrement.........................................................................................22

4Débuter avec les macros

Introduction

Une macro est une séquence enregistrée de commandes ou de saisies au clavier qui sont conservées pour une utilisation ultérieure. Un exemple de macro simple serait une macro qui

"saisit" votre adresse. Le langage de macro LibreOffice est très souple et permet l'automatisation

de tâches simples ou complexes. Les macros sont particulièrement utiles pour répéter une suite

d'actions exactement de la même façon, plusieurs fois au cours du temps. LibreOffice prend en charge les langages suivants : •LibreOffice Basic •JavaScript •BeanShell •Python Le langage LibreOffice Basic est le plus couramment utilisé pour écrire des macros dans LibreOffice. C'est ce langage qui est utilisé pour les exemples figurant dans ce chapitre. Vous pouvez apprendre le langage LibreOffice Basic afin de pouvoir écrire des macros de A à Z, mais cela nécessite de posséder ou d'acquérir de bonnes compétences en programmation

informatique. Si vous êtes débutant, il est plus facile d'utiliser des macros écrites par d'autres, ou

d'utiliser l'enregistrement de macros, qui permet de mémoriser les touches frappées et d'enregistrer cette séquence pour une utilisation ultérieure. La plupart des tâches dans LibreOffice sont accomplies en "dispatchant" (envoyant) une

commande, qui est interceptée et utilisée. L'enregistrement de macros fonctionne en enregistrant

les commandes qui sont dispatchées (voir "Schéma de transmission des commandes" page 15).

Vos premières macros

Ajouter une macro

La première étape dans l'apprentissage de la programmation des macros est de savoir retrouver et

utiliser des macros existantes. Dans la suite de cette section, vous devez disposer d'une macro que vous voulez utiliser. Pour cet exemple, utilisez la macro simple du Listing 1, qui permet

d'afficher le message "Bonjour !". Vous devez créer une bibliothèque et un module pour contenir

votre macro. Voyez "Organisation des macros" page 16 pour plus d'informations.

Listing 1. Macro simple qui affiche bonjour

Sub MacroBonjour

MsgBox "Bonjour !"

End Sub

Vos premières macros5

Suivez les étapes suivantes pour créer et exécuter la macro du Listing 1 :

1)Choisissez Outils > Macros > Gérer les macros > LibreOffice Basic pour ouvrir la boîte

de dialogue Macros LibreOffice Basic (Figure 1). Figure 1 : Boîte de dialogue Macros LibreOffice Basic

2)Cliquez sur Gérer pour ouvrir la boîte de dialogue Gestion des macros de LibreOffice Basic

et sélectionnez l'onglet Bibliothèques (Figure 2). Figure 2 : Boîte de dialogue Gestion des macros de LibreOffice Basic

3)Si ce n'est déjà fait, choisissez l'emplacement Mes macros et boîtes de dialogue, qui est

l'emplacement par défaut.

4)Cliquez sur Nouveau pour ouvrir la boîte de dialogue Nouvelle bibliothèque.

6Débuter avec les macros

5)Saisissez le nom de la nouvelle bibliothèque, BibTest par exemple, et cliquez sur OK.

6)Sélectionnez l'onglet Modules.

7)Dans la liste des modules, étendez Mes macros et sélectionnez votre nouvelle

bibliothèque. Un module nommé Module1 existe déjà et peut contenir votre macro. Vous pouvez également cliquer sur Nouveau pour créer un nouveau module dans votre bibliothèque.

8)Sélectionnez le module et cliquez sur Éditer pour ouvrir l'Environnement de

Développement Intégré (Figure 3). Cet EDI est un éditeur de texte inclus dans LibreOffice

qui vous permet de créer et de modifier des macros. Lorsqu'un nouveau module est créé, il contient un commentaire et une macro vide nommée Main, qui ne fait rien. Figure 3 : Environnement de Développement Intégré LibreOffice Basic

9)Ajoutez la nouvelle macro avant Sub Main ou après End Sub. Le Listing 2 montre la

nouvelle macro insérée après End Sub.

Listing 2. Module1 après l'ajout de la macro

REM ***** BASIC *****

Sub Main

End Sub

Sub MacroBonjour

MsgBox "Bonjour !"

End Sub

10)Cliquez sur l'icône Compiler de la barre d'outils Macro pour compiler la macro.

11)Placez le curseur à l'intérieur de la sous-routine MacroBonjour et cliquez sur l'icône

Exécuter le BASIC de la barre d'outils Macro, ou appuyez sur la touche F5, pour

Vos premières macros7

exécuter la macro MacroBonjour du module. Si le curseur ne se trouve pas à l'intérieur d'une sous-routine ou d'une fonction, la boîte de dialogue Macros LibreOffice Basic s'ouvre et vous demande de sélectionner la macro à exécuter. L'icône Sélectionner une macro de la barre d'outils Standard et la commande Outils > Macros > Gérer les macros >

LibreOffice Basic ont le même effet.

12)Une petite boîte de dialogue contenant le texte "Bonjour !" s'ouvre. Cliquez sur OK pour la

fermer.

Enregistrer une macro

Si vous devez effectuer des opérations de manière répétée, comme la saisie d'informations fixes

par exemple, vous pouvez créer une macro qui mémorise ces opérations. La façon la plus simple

de le faire est d'utiliser l'enregistrement de macro.

1)Vérifiez que l'enregistrement de macro est bien actif en allant dans Outils > Options >

LibreOffice > Avancé et en cochant l'option Activer l'enregistrement de macro. Par défaut, cette fonction est désactivée lors de l'installation de LibreOffice sur votre ordinateur.

2)Choisissez Outils > Macros > Enregistrer une macro dans la barre de menus principale

pour démarrer l'enregistrement de la macro. Une petite boîte de dialogue Enregistrer une macro apparaît, indiquant que l'enregistrement de macro est en cours.

3)Effectuez la séquence d'opérations que vous désirez. Par exemple, saisissez votre nom.

4)Cliquez sur Terminer l'enregistrement dans la boîte de dialogue Enregistrer une macro

pour arrêter l'enregistrement. La boîte de dialogue Macros LibreOffice Basic s'ouvre (Figure 1).

5)Étendez le conteneur de bibliothèques Mes macros et trouvez la bibliothèque Standard.

Notez que chaque conteneur de bibliothèques contient une bibliothèque nommée

Standard.

6)Sélectionnez la bibliothèque Standard et cliquez sur Nouveau Module pour créer le

nouveau module qui va contenir la macro. La boîte de dialogue Nouveau module s'ouvre.

7)Saisissez un nom significatif pour le nouveau module, Enregistrements par exemple, et

cliquez sur OK pour le créer. Le nouveau module figure désormais dans la bibliothèque Standard dans la boîte de dialogue Macros LibreOffice Basic.

8)Dans la zone Nom de la macro, saisissez le nom de la macro que vous venez d'enregistrer,

SaisieNom par exemple.

9)Cliquez sur Enregistrer pour enregistrer la macro et fermer la boîte de dialogue Macros

LibreOffice Basic.

Exécuter une macro

1)Choisissez Outils > Macros > Exécuter la macro dans la barre de menus principale pour

ouvrir la boîte de dialogue Sélecteur de macro (Figure 4).

2)Déroulez l'arborescence des bibliothèques, sélectionnez la macro désirée, SaisieNom par

exemple, et cliquez sur Exécuter.

8Débuter avec les macros

Figure 4 : Boîte de dialogue Sélecteur de macro Vous pouvez également choisir Outils > Macros > Gérer les macros > LibreOffice Basic dans la barre de menus principale pour ouvrir la boîte de dialogue Macros LibreOffice Basic (Figure 1), sélectionner la macro et cliquer sur Exécuter.

Afficher et éditer des macros

Pour afficher ou éditer les macros que vous avez créées :

1)Choisissez Outils > Macros > Gérer les macros > LibreOffice Basic pour ouvrir la boîte

de dialogue Macros LibreOffice Basic.

2)Déroulez l'arborescence des bibliothèques, sélectionnez la macro désirée, SaisieNom par

exemple, et cliquez sur Éditer pour ouvrir l'EDI Basic. La macro SaisieNom est affichée

Listing 3.

Listing 3. Macro enregistrée SaisieNom

REM ***** BASIC *****

Sub Main

End Sub

sub SaisieNom rem ---------------------------------------------------------------------- rem define variables dim document as object dim dispatcher as object rem ---------------------------------------------------------------------- rem get access to the document document = ThisComponent.CurrentController.Frame dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") rem ---------------------------------------------------------------------- dim args1(0) as new com.sun.star.beans.PropertyValue args1(0).Name = "StringName" args1(0).Value = "Jean Dupont" dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args1()) rem ---------------------------------------------------------------------- dispatcher.executeDispatch(document, ".uno:JumpToNextCell", "", 0, Array()) end sub

Vos premières macros9

La macro SaisieNom n'est pas aussi compliquée qu'elle apparaît au premier abord. La connaissance de quelques notions permet de comprendre l'essentiel des macros.

Commentaires REM

Toutes les séquences du code de la macro qui commencent par REM contiennent des

commentaires. Tout le texte situé après REM et se trouvant sur la même ligne est ignoré. Vous

pouvez employer également le caractère apostrophe (') comme raccourci pour débuter un commentaire. Les mots-clés de LibreOffice Basic ne sont pas sensibles à la casse : REM, Rem et rem peuvent donc être tous utilisés pour débuter un commentaire.

Définir des sous-routines avec SUB

Chacune des macros est stockée dans une sous-routine. Une sous-routine commence avec le mot-clé SUB, et se termine avec les mots END SUB. Le code commence par la définition de la sous-routine appelée Main, qui est vide et ne fait rien. La sous-routine suivante, SaisieNom, contient le code généré pour votre macro.

Les points suivants, qui font partie des fonctionnalités avancées et ne seront pas développés dans

ce guide, sont cités pour votre information : •Vous pouvez écrire une macro de sorte que des valeurs soient transmises à la sous- routine. Ces valeurs sont appelées arguments. Cependant, les macros enregistrées n'admettent pas d'arguments. •Il existe une autre de forme de sous-routine, appelée fonction, qui renvoie une valeur. Les fonctions sont définies par le fait qu'elles commencent par le mot-clé FUNCTION. Cependant, l'enregistrement de macro crée toujours des sous-routines qui ne sont pas des fonctions.

Définir des variables avec DIM

Vous pouvez écrire une information sur un bout de papier pour vous en souvenir pour plus tard.

Une variable, comme un bout de papier, contient une information qui peut être modifiée et lue. Le

mot-clé DIM est à l'origine une abréviation de Dimension et était utilisé pour définir les dimensions

d'un tableau. L'instruction DIM utilisée dans la macro SaisieNom revient à mettre de côté un bout

de papier destiné à recueillir un message ou une note. Dans la macro SaisieNom, les variables document et dispatcher sont définies avec le type object

(objet). Il existe d'autres types de variables, comme string (chaîne de caractères), integer (nombre

entier) ou date (date). Une troisième variable, nommée args1, est un tableau de valeurs de

propriétés. Une variable de type array (tableau) permet à une variable de contenir des valeurs

multiples, comme un livre qui contient plusieurs pages. Les valeurs d'un tableau sont

habituellement numérotées à partir de zéro. Le nombre entre parenthèses indique le nombre le

plus haut utilisable pour accéder à une valeur. Dans cet exemple, il y a uniquement une valeur, et

elle porte le numéro zéro.

Explication du code de la macro

Voici une explication du code de la macro SaisieNom. Vous ne comprendrez peut-être pas tous les

détails, mais l'explication de chaque ligne de code vous donnera une idée de la façon dont la

macro fonctionne. sub SaisieNom

Définit le début de la macro

dim document as object

Définit la variable

dim dispatcher as object

10Débuter avec les macros

Définit la variable

document = ThisComponent.CurrentController.Frame ThisComponent fait référence au document en cours.

CurrentController est une propriété qui fait référence au service qui contrôle le document. Par

exemple, lorsque vous faites une saisie, c'est CurrentController qui mémorise ce que vous tapez. CurrentController transmet alors les modifications au cadre du document. Frame est une propriété du document qui revoie le cadre principal du document.

Par conséquent, document est une variable qui fait référence au cadre du document, qui reçoit

les commandes transmises. dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") La plupart des tâches de LibreOffice sont accomplies en transmettant des commandes. LibreOffice comprend un service DisptachHelper qui effectue le plus gros du travail pour transmettre les commandes des macros. La méthode createUnoService comprend le nom d'un service et essaie de créer une instance de ce service. En fin de compte, la variable dispatcher fait référence au DisptachHelper. dim args1(0) as new com.sun.star.beans.PropertyValue

Déclare un tableau de propriétés. Chaque propriété comporte un nom et une valeur. Le tableau

créé comporte une seule propriété à l'index zéro. args1(0).Name = "StringName" args1(0).Value = "Jean Dupont"

Donne à la propriété le nom "StringName" et la valeur "Jean Dupont", qui est le texte qui est

inséré lorsque la macro est exécutée. dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args1()) C'est là que tout se passe. Le DispatchHelper transmet au cadre du document (enregistré dans la variable document) la commande .uno:EnterString. Les deux arguments suivants, le nom du cadre et les flags de recherche, vont au-delà du propos de ce guide. Le dernier argument est le tableau de propriétés à utiliser lors de la commande EnterString. dispatcher.executeDispatch(document, ".uno:JumpToNextCell", "", 0, Array()) Même chose que la ligne précédente avec la commande JumpToNextCell. end sub Dernière ligne de code qui termine la sous-routine.

Une macro plus complexe

Lors de la création, il est important de se poser deux questions avant de commencer l'enregistrement : •Est-ce que cette tâche consiste en un ensemble simple de commandes ?

•Est-ce que les différentes étapes peuvent être agencées de manière à ce que chaque

commande laisse le curseur disponible pour la commande suivante ou la saisie de texte ou de données dans le document ?

Exemple

Vous pouvez avoir besoin de copier des lignes et des colonnes de données à partir d'un site web

et de les formater afin d'obtenir un tableau dans un document texte. Un bon exemple figure dans la documentation de l'API de LibreOffice concernant le groupe de constantes FontWeight, qui caractérise l'épaisseur de la police d'un caractère, et qui se trouve sur la page web

Une macro plus complexe11

1)Copiez les données depuis le site web dans le presse-papiers.

2)Pour éviter les formats et les polices étranges, copiez le texte du presse-papiers dans un

document Writer en tant que texte non formaté (Figure 5).

Figure 5 : Texte copié

Vous pouvez utiliser la commande Tableau > Convertir > Texte en tableau pour obtenir un

tableau, mais le résultat peut ne pas vous convenir : certains caractères inutiles sont conservés

(espaces à la fin de la description) et vous souhaitez avoir une première colonne qui comporte la

valeur numérique de l'épaisseur, par exemple.

Enregistrement de la macro

En gardant à l'esprit les deux questions préliminaires ci-dessus, examinez le texte pour voir si une

macro peut être enregistrée pour formater le texte. Le nom de la constante est suivi par un espace

et une tabulation. La description est suivie de deux espaces. Une conversion automatique peut être effectuée pour chaque ligne, sauf pour les lignes DONTKNOW et NORMAL qui ne comportent pas de valeur numérique, et pour lesquelles une saisie manuelle sera nécessaire.

Les données peuvent être nettoyées de plusieurs façons. L'exemple ci-dessous utilise les touches

du clavier.

1)Vérifiez que l'enregistrement de macro est bien actif en allant dans Outils > Options >

LibreOffice > Avancé et en cochant l'option Activer l'enregistrement de macro. Par défaut, cette fonction est désactivée lors de l'installation de LibreOffice sur votre ordinateur.

2)Positionnez le curseur juste avant le mot THIN.

3)Choisissez Outils > Macros > Enregistrer une macro pour démarrer l'enregistrement de

la macro.

4)Appuyez sur Ctrl+flèche droite pour déplacer le curseur au début de "specifies".

5)Appuyez sur la touche Retour arrière deux fois pour supprimer la tabulation et l'espace.

6)Appuyez sur la touche Tab pour ajouter une tabulation sans espace après le nom de la

constante.

7)Appuyez sur la touche Suppr pour supprimer le s minuscule, puis appuyez sur Maj+S pour

ajouter un S majuscule.

8)Appuyez sur Ctrl+flèche droite deux fois pour déplacer le curseur au début du nombre.

9)Appuyez sur Ctrl+Maj+flèche droite pour sélectionner le nombre et déplacer le curseur

avant le signe %.

10)Appuyez sur Ctrl+C pour copier le texte sélectionné dans le presse-papiers.

11)Appuyez sur la touche Fin pour déplacer le curseur à la fin de la ligne.

12)Appuyez sur la touche Retour arrière deux fois pour supprimer les deux derniers espaces.

13)Appuyez sur la touche Début pour déplacer le curseur au début de la ligne.

12Débuter avec les macros

14)Appuyez sur Ctrl+V pour coller le nombre sélectionné au début de la ligne.

15)Coller une valeur ajoute un espace supplémentaire, donc appuyez sur la touche Retour

arrière pour le supprimer.

16)Appuyez sur la touche Tab pour ajouter une tabulation entre le nombre et le nom.

17)Appuyez sur la touche Début pour déplacer le curseur au début de la ligne.

18)Appuyez sur la touche flèche bas pour déplacer le curseur sur la ligne suivante.

19)Arrêtez l'enregistrement et enregistrez la macro (voir "Enregistrer une macro" page 8).

Cela prend plus longtemps de lire et d'écrire les différentes étapes que d'enregistrer la macro.

Avancez lentement et réfléchissez bien aux étapes au fur et à mesure que vous les effectuez. Avec

la pratique, ceci deviendra plus naturel.

Le code généré de la macro du Listing 4 a été modifié, afin de faire apparaître dans les

commentaires le numéro de chaque étape ci-dessus. Listing 4. Copie de la valeur numérique au début de chaque ligne sub FormatLigneTableau rem ---------------------------------------------------------------------- rem define variables dim document as object dim dispatcher as object rem ---------------------------------------------------------------------- rem get access to the document document = ThisComponent.CurrentController.Frame dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") rem (4) Appuyez sur Ctrl+flèche droite pour déplacer le curseur rem au début de "specifies" dispatcher.executeDispatch(document, ".uno:GoToNextWord", "", 0, Array()) rem (5) Appuyez sur la touche Retour arrière deux fois pour supprimer rem la tabulation et l'espace. dispatcher.executeDispatch(document, ".uno:SwBackspace", "", 0, Array()) dispatcher.executeDispatch(document, ".uno:SwBackspace", "", 0, Array()) rem (6) Appuyez sur la touche Tab pour ajouter une tabulation sans espace rem après le nom de la constante. dim args4(0) as new com.sun.star.beans.PropertyValue args4(0).Name = "Text" args4(0).Value = CHR$(9) dispatcher.executeDispatch(document, ".uno:InsertText", "", 0, args4()) rem (7) Appuyez sur la touche Suppr pour supprimer le s minuscule ... dispatcher.executeDispatch(document, ".uno:Delete", "", 0, Array()) rem (7) ... puis appuyez sur Maj+S pour ajouter un S majuscule. dim args6(0) as new com.sun.star.beans.PropertyValue args6(0).Name = "Text" args6(0).Value = "S" dispatcher.executeDispatch(document, ".uno:InsertText", "", 0, args6()) rem (8) Appuyez sur Ctrl+flèche droite deux fois pour déplacer le curseur rem au début du nombre. dispatcher.executeDispatch(document, ".uno:GoToNextWord", "", 0, Array()) dispatcher.executeDispatch(document, ".uno:GoToNextWord", "", 0, Array()) rem (9) Appuyez sur Ctrl+Maj+flèche droite pour sélectionner le nombre rem et déplacer le curseur avant le signe %.

Une macro plus complexe13

dispatcher.executeDispatch(document, ".uno:WordRightSel", "", 0, Array()) rem (10) Appuyez sur Ctrl+C pour copier le texte sélectionné rem dans le presse-papiers. dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array()) rem (11) Appuyez sur la touche Fin pour déplacer le curseur rem à la fin de la ligne. dispatcher.executeDispatch(document, ".uno:GoToEndOfLine", "", 0, Array()) rem (12) Appuyez sur la touche Retour arrière deux fois pour supprimer rem les deux derniers espaces. dispatcher.executeDispatch(document, ".uno:SwBackspace", "", 0, Array()) dispatcher.executeDispatch(document, ".uno:SwBackspace", "", 0, Array()) rem (13) Appuyez sur la touche Début pour déplacer le curseur rem au début de la ligne. dispatcher.executeDispatch(document, ".uno:GoToStartOfLine", "", 0, Array()) rem (14) Appuyez sur Ctrl+V pour coller le nombre sélectionné rem au début de la ligne. dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array()) rem (15) ... appuyez sur la touche Retour arrière pour le supprimer. dispatcher.executeDispatch(document, ".uno:SwBackspace", "", 0, Array()) rem (16) Appuyez sur la touche Tab pour ajouter une tabulation rem entre le nombre et le nom. dim args17(0) as new com.sun.star.beans.PropertyValue args17(0).Name = "Text" args17(0).Value = CHR$(9) dispatcher.executeDispatch(document, ".uno:InsertText", "", 0, args17()) rem (17) Appuyez sur la touche Début pour déplacer le curseur rem au début de la ligne. dispatcher.executeDispatch(document, ".uno:GoToStartOfLine", "", 0, Array()) rem (18) Appuyez sur la touche flèche bas pour déplacer le curseur rem sur la ligne suivante. dim args19(1) as new com.sun.star.beans.PropertyValue args19(0).Name = "Count" args19(0).Value = 1 args19(1).Name = "Select" args19(1).Value = false dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args19()) end sub

Les mouvements de curseur sont utilisés pour toutes les opérations. Si vous exécutez la macro au

début de la ligne DONTKNOW, le mot "weight" est copié au début de la ligne et le mot "The" est

changé en "She". Ce n 'est pas parfait et vous ne devriez pas exécuter sur les lignes qui ont un

format différent. Vous devrez formater ces lignes manuellement.

Exécuter rapidement une macro

Il est fastidieux de répéter l'exécution de la macro en utilisant Outils > Macros > Exécuter la

macro depuis la barre de menus principale. Faites-le depuis l'EDI Basic. C'est plus facile et rapide,

surtout pour les macros temporaires qui ne seront utilisées que quelques fois puis abandonnées.

1)Dans le document Writer, placez le curseur au début de la première ligne à traiter.

14Débuter avec les macros

2)Choisissez Outils > Macros > Gérer les macros > LibreOffice Basic pour ouvrir la boîte

de dialogue Macros LibreOffice Basic.

3)Déroulez l'arborescence des bibliothèques, sélectionnez la macro désirée et cliquez sur

Éditer pour ouvrir l'EDI Basic.

4)Dans l'EDI Basic, placez le curseur à un endroit quelconque de la macro

FormatLigneTableau.

5)Cliquez sur l'icône Exécuter le BASIC de la barre d'outils Macro, ou appuyez sur la

touche F5, pour exécuter la macro, autant de fois que vous le souhaitez.

Limites de l'enregistrement de macro

L'enregistrement de macro peut parfois ne pas fonctionner complètement. La compréhension des mécanismes internes de LibreOffice permet d'expliquer quand et pourquoi l'enregistrement de macro ne fonctionne pas.

Schéma de transmission des commandes

Le but du schéma de transmission des commandes (dispatch framework) est de fournir un accès uniforme aux composants (documents) pour les commandes, qui correspondent habituellement à des éléments de menus. La commande Fichier > Enregistrer depuis la barre de menus, le raccourci clavier Ctrl+S ou le clic sur l'icône Enregistrer sont des commandes qui sont traduites dans la même "commande transmise". Le schéma de transmission des commandes est également utilisé pour renvoyer des commandes

à l'interface utilisateur. Par exemple, après l'enregistrement d'un document, l'icône Enregistrer est

désactivée. Dès qu'une modification est effectuée dans le document, l'icône est à nouveau

disponible. Une commande transmise peut être identifiée par un texte, comme .uno:InsertObject ou .uno:GoToStartOfLine. Cette commande est envoyée au cadre du document et transmise jusqu'à ce qu'un objet soit trouvé pour la prendre en compte. Comment l'enregistrement de macro utilise le schéma de transmission des commandes L'enregistrement de macro mémorise la séquence des commandes transmises telles qu'elles sont générées. Cela marche la plupart du temps. Le problème est que certaines commandes

transmises ne sont pas complètes. Par exemple, l'insertion d'un objet génère la ligne de code

suivante :quotesdbs_dbs1.pdfusesText_1
[PDF] libreoffice somme heure

[PDF] libro 2 de la ley 100 de 1993 pdf

[PDF] libro album pdf gratis

[PDF] libro de genetica pdf

[PDF] libro de genetica thompson pdf

[PDF] libro de tecnicas de lucha olimpica

[PDF] libro digital definicion

[PDF] libro digital gratis

[PDF] libro digital pdf

[PDF] libro el discurso del metodo de rene descartes

[PDF] libro embarazo semana a semana pdf

[PDF] libro en pdf

[PDF] libro historia de japon pdf

[PDF] libro la imagen

[PDF] libro platero y yo completo