Programmation d'openoffice (boîtes de dialogues)



Documents pareils
Introduction aux macros et au Basic

TABLEAU CROISE DYNAMIQUE

TUTORIEL IMPRESS. Ouvrir Impress cocher «présentation vierge», «suivant» cocher «écran», «suivant» cocher «standard», «créer»

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

SOMMAIRE. Présentation assistée sur ordinateur. Collège F.Rabelais 1/10

Manuel utilisateur Netviewer one2one

LE TABLEUR OPENOFFICE CALC : CONTRÔLES DE FORMULAIRES ACCÈS AUX BASES DE DONNÉES

Automatisation d'une Facture 4. Liste Déroulante Remises Case à cocher Calculs

PAGE 1. L écran du logiciel d Open Office Draw. Barre de menu: Les commandes du logiciel

PRESENTATION / FORMATION

Consigne : je remplis le tableau en tenant compte des informations de la ligne supérieure et de la colonne de gauche (droite pour les gauchers)

DOSSIER D'ACTIVITES SUR TUXPAINT Dessiner avec Tuxpaint. Objectifs :

TD3 - Facturation avec archivage automatisé

Créer des étiquettes avec les adresses d'un tableau Calc

Publication Assistée par Ordinateur

Guide pour la réalisation d'un document avec Open Office Writer 2.2

EXCEL TUTORIEL 2012/2013

INSERER DES OBJETS - LE RUBAN INSERTION... 3 TABLEAUX

Comment créer et utiliser une fonction

Traitement de texte : Quelques rappels de quelques notions de base

Réaliser un PUBLIPOSTAGE

OpenOffice.org Présentation - Débuter. Distribué par Le projet OpenOffice.org

La Clé informatique. Formation Excel XP Aide-mémoire

Initiation à Excel. Frédéric Gava (MCF)

Organiser vos documents Windows XP

Mon aide mémoire traitement de texte (Microsoft Word)

Publipostage avec Calc

Parcours FOAD Formation EXCEL 2010

LibreOffice Calc : introduction aux tableaux croisés dynamiques

Utilisation de la plateforme VIA ecollaboration

Access 2007 FF Access FR FR Base

AGASC / BUREAU INFORMATION JEUNESSE Saint Laurent du Var Tel : bij@agasc.fr Word: Les tableaux.

CREER UN PETIT SITE WEB EN COMPOSANT DES PAGES HTML

Adobe Illustrator Logiciel de dessin vectoriel et de Cartographie Assistée par Ordinateur

Installation et paramétrage. Accès aux modèles, autotextes et clip- art partagés

Le publipostage avec Open Office

SOMMAIRE. Travailler avec les requêtes... 3

RACCOURCIS CLAVIERS. DEFINITION : Une «combinaison de touches» est un appui simultané sur plusieurs touches.

Date M.P Libellé Catégorie S.Catégorie Crédit Débit Solde S.B

Débuter avec Excel. Excel

Université Ibn Zohr Excel Résume de cours

Découvrir la messagerie électronique et communiquer entre collègues. Entrer dans le programme Microsoft Outlook Web Access

Les différents types de relation entre les tables

[WINDOWS 7 - LES FICHIERS] 28 avril Logiciel / Windows

Tapez le titre de la page «BASTIA ville méditerranéenne», puis allez deux fois à la ligne à l aide de la touche Entrée.

POUR ALLER UN PEU PLUS LOIN SUR UN TABLEUR. Version EXCEL

Astuces_Générales1_excel.doc - bitsch.gerard@orange.fr VERTOU Page : 1 / 29

Modes Opératoires WinTrans Mai 13 ~ 1 ~

Excel 2007 Niveau 3 Page 1

Créer un diaporama avec Open Office. Sommaire

Avant-propos FICHES PRATIQUES EXERCICES DE PRISE EN MAIN CAS PRATIQUES

37 13 Courrier indésirable Appeler plusieurs comptes de messagerie Sélectionner un compte de messagerie

Un exemple avec WORKSPACE d'interwrite

Comment sauvegarder ses documents

Créer un tableau avec LibreOffice / Calc

Note de cours. Introduction à Excel 2007

Mes premiers diaporamas avec Open Office Impress?

l'ordinateur les bases

PRISE EN MAIN D UN TABLEUR. Version OPEN OFFICE

Publipostage avec Open Office Writer et Open Office Calc (v.3)

Silhouette Studio Leçon N 2

VOCABULAIRE LIÉ AUX ORDINATEURS ET À INTERNET

Table des matières. F. Saint-Germain / S. Carasco Document réalisé avec OpenOffice.org Page 1/13

Cours Excel : les bases (bases, texte)

Programme d Accès Communautaire / Atelier 4 Initiation à Microsoft Excel PLAN DE COURS 3 MICROSOFT EXCEL 4 LANCER EXCEL 4

Créer une base de données

Table des matières A. Introduction... 4 B. Principes généraux... 5 C. Exemple de formule (à réaliser) :... 7 D. Exercice pour réaliser une facture

Premier cours d informatique

GUIDE DE DEMARRAGE RAPIDE:

Maîtriser les fonctionnalités d un traitement de texte (Word OpenOffice)

Tutoriel : logiciel de présentation Openoffice Impress

Rendre un plan de cours interactif avec Médiator

Réalisez votre propre carte de vœux Éléctronique

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Utilisation de l éditeur.

Swyx Skin Editor - Guide de l'utilisateur. SwyxIt Skin Editor L éditeur de création des habillages individuels

Support de TD ArcGIS Introduction à l automatisation et au développement avec ArcGIS 10.1 JEAN-MARC GILLIOT e année ingénieur

TABLEAU CROISE DYNAMIQUE

Licence de Biologie, 1ère année. Aide. [Aide 1] Comment utiliser l'explorateur Windows? Comment créer des dossiers?

TIC INFORMATIQUE Ce que je dois retenir

Styler un document sous OpenOffice 4.0

Comment formater votre ebook avec Open Office

L ORDINATEUR FACILE D ACCÈS!

Formation tableur niveau 1 (Excel 2013)

TRAVAILLER SUR LES ORDINATEURS DU LYCEE

Utiliser le site Kahoot pour créer des quiz interactifs

Accès externe aux ressources du serveur pédagogique

NAVIGATION SUR INTERNET EXPLORER

Bientôt la rentrée!...personnaliser et configurer un ordinateur pour faciliter son utilisation en classe

COPIER, COUPER, COLLER, SELECTIONNER, ENREGISTRER.

Assistant d e tablissement de Tableaux

@telier d'initiation

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

Programmation. et LibreOffice. Macros OOoBASIC et API. Laurent Godard. Bernard Marcelly. Préface de l Aful. OpenOffice.org. version 3.3.

Notice de présentation. La mise à jour de la référence bancaire sous TelePAC

Transcription:

Programmation d'openoffice (boîtes de dialogues) La deuxième partie de cette étude va porter sur la réalisation d'une boite de dialogue permettant d'introduire dans la cellule sélectionnée la valeur d'une résistance à partir de ses couleurs : Cette boîte pourra être appelée à l'aide d'un bouton et permettra d'insérer la valeur de la résistance dans la cellule sélectionnée au préalable : I. Préparation. Code des couleurs : noir 0 marron 1 Sachant que les deux premières couleurs (C 1 et C 2 ) représentent deux chiffres et que la troisième (C 3 ) représente une puissance de dix (ex 32.10 6 si orange rouge bleu), proposer une formule donnant R à partir de C 1, C 2 et C 3. rouge 2 orange 3 jaune 4 vert 5 bleu 6 violet 7 Solution : R = (10*C1+C2)*10^C3 gris 8 blanc 9 II. Construction du dialogue. Créer un document «Classeur» dans OpenOffice et l'enregistrer sous le nom de resistance (en réalité le nom n'a pas d'importance mais il y sera fait référence plus loin et la compréhension s'en trouvera améliorée ainsi). Boîtes de dialogue OpenOffice Page 1

Faire Outils/Macros/Gérer les boîtes de dialogue puis dérouler l'arborescence liée au fichier resistance.ods et sélectionner Standard. Cliquer sur le bouton nommé Nouveau et donner un nom au «dialogue» (je l'appelerai Resist dans la suite) : l'intitulé de cette boîte apparaît ainsi dans l'arborescence, Choisir ensuite le bouton Editer Modifier la taille de cette boite de dialogue (modèle ci-dessus dans l'introduction), puis, d'un clic droit sur cette boîte, faire afficher les propriétés : Remplir la zone Titre (Calcul de résistances) celà affecte le bandeau de notre boîte : Maintenant on va mettre des listes, images et boutons dans cette boîte. Pour cela, on dispose de la barre d'outils nommée Boîte à outils. Boîtes de dialogue OpenOffice Page 2

Choisir Zone de liste et dessiner un rectangle : Le panneau des propriétés contient maintenant celles de cette zone de liste (on a ainsi accès aux propriétés d'un objet en le sélectionnant). Changer son nom en LB1 (c'est plus simple que ListBox1!), puis descendre jusqu'à la propriété Déroulante et choisir Oui, et dans Nombre de lignes choisir 10. Ainsi l'utilisateur aura facilement accès aux 10 couleurs lorsqu'il déroulera cette liste. Puis entrer les couleurs dans Entrées de liste, la passage à la suivante se faisant en combinant au clavier Majuscule Entrée. De la même façon, ajouter un bouton un clic sur ce bouton fermera le dialogue. et lui affecter le Titre «Fin» et la propriété Type de bouton «OK», ainsi, On peut effectuer un premier test en cliquant sur déroulée et le bouton «Fin» ferme le tout., le dialogue apparaît, la liste des couleurs peut être Les deux autres listes déroulantes peuvent être créées par simple copier-coller, les renommer LB2 et LB3. On va aussi ajouter un Champ d'étiquette où la valeur de R viendra s'écrire (le nommer Lab1). II Ecriture du code de programmation. Exécuter Outils/ Macros/Gérer les macros/oo Basic et créer un nouveau module dans «Resistance» : Boîtes de dialogue OpenOffice Page 3

Cliquer sur le bouton Editer pour faire apparaître l'éditeur de code. Ecrire avant toute chose les lignes suivantes qui permettent de charger un dialogue : Function LoadDialog(Libname as String, DialogName as String) Dim olib as Object Dim olibdialog as Object Dim oruntimedialog as Object olibcontainer = DialogLibraries olibcontainer.loadlibrary(libname) olib = olibcontainer.getbyname(libname) olibdialog = olib.getbyname( DialogName) oruntimedialog = CreateUnoDialog( olibdialog) LoadDialog() = oruntimedialog End Function On entre maintenant dans le vif du sujet : les variables correspondant aux listes déroulantes et au champ d'étiquette doivent être définies en dehors de tout proramme pour être accessibles de tous (ce sont des variables globales) : Dim odialog,olb1, olb2, olb3, olab as Object Le programme lancé à l'ouverture du dialogue (il est nommé ici Main doit affecter ces variables globales aux objets concernés : le dialogue évidemment en premier, ses composants ensuite, de plus on fait écrire «0» pour la valeur de la résistance : Sub Main odialog = LoadDialog("Standard", "resist") olb1 = odialog.getcontrol("lb1") olb2 = odialog.getcontrol("lb2") olb3 = odialog.getcontrol("lb3") olab = odialog.getcontrol("lab1") olab.text = "0" odialog.execute() End Sub La dernière ligne commande l'éxécution du dialogue. Test : retourner au tableur, lancer la macro Main et voir si cela fonctionne. Il faut maintenant que lorsqu'on choisit une couleur, la valeur de R soit mise à jour : sub maj dim x1, x2, x3, x as double x1 = olb1.selecteditempos if x1 < 0 then x1 = 0 x2 = olb2.selecteditempos if x2 < 0 then x2 = 0 x3 = olb3.selecteditempos if x3 < 0 then x3 = 0 x = (x1*10+x2)*10^x3 olab.text = x end sub Dans ce programme, des variable x1,x2,x3 et x sont définies, puis on leur affecte le numéro de l'item sélectionné dans les listes déroulantes (ce qui est pratique ici puisque l'item de rang 0 est noir et correspond précisemment au chiffre 0, marron pour le un et ainsi de suite!). Ensuite le calcul est fait et enfin, le résultat est affecté au champ d'étiquette. On remarque au passage que le langage basique permet facilement le transtypage puisqu'ici une valeur réelle (double) prend des valeurs entières et est affectée à un texte! Boîtes de dialogue OpenOffice Page 4

Il faut, pour que ces programmes soient éxécutés, les affecter aux objets contenus dans le dialogue : Sélectionner la liste déroulante LB1 et dans la fenêtre des Propriétés cliquer sur l'onglet Evénements : Cliquer sur le petit bouton sur la ligne Bouton de souris relâché puis sur Assigner et choisir maj pour effectuer cette mise à jour : Faire la même chose pour LB2 et LB3. Enfin, assigner de même la macro insere au bouton Fin. Tester le dialogue comme précédemment (macro «Main» dans le tableur). Il doit maintenant fonctionner! III Améliorations. 1. Présentation du résultat Il faut encadrer le champ d'étiquette des symboles R= et Ω.. Il suffit de créer deux nouveaux champs d'étiquette, de leur donner comme Titre «R=» et «W» puis de modifier leur propriété Police. ( Pour le deuxième on choisira la police Symbol pour que W devienne Ω. Il peut aussi être bien de modifier la couleur d'arrière plan des champs d'étiquette pour qu'ils se «fondent» dans la boîte dialogue. 2. Dessin de la résistance On va utiliser ici des champs d'étiquette en jouant sur leur couleur d'arrière-plan. En tracer un grand de couleur quelconque : ce sera la «résistance». Puis quatre autres plus fins colorés en noir pour trois d'entre eux et en gris pour le quatrième : ce sont les «bandes» colorées sur la résistance. Nommer les trois bandes noires C1, C2 et C3. Bien entendu, la propriété Titre de ces champs d'étiquette est vide. Boîtes de dialogue OpenOffice Page 5

3. Modification des couleurs par programmation Il faut définir trois variables globales pour les trois «bandes», Dim odialog,olb1, olb2, olb3, olab, oc1, oc2, oc3 AS Object les définir dans «Main» en ajoutant les lignes suivantes : oc1 = odialog.getcontrol("c1") oc2 = odialog.getcontrol("c2") oc3 = odialog.getcontrol("c3") les mettre à jour dans «maj» : select case x1 case 0 oc1.model.backgroundcolor = &H000000 case 1 oc1.model.backgroundcolor = &HB5850A case 2 oc1.model.backgroundcolor = &HFF0000 case 3 oc1.model.backgroundcolor = &HFFAA00 case 4 oc1.model.backgroundcolor = &HFFFF00 case 5 oc1.model.backgroundcolor = &H00FF00 case 6 oc1.model.backgroundcolor = &H0000FF case 7 oc1.model.backgroundcolor = &H8F008F case 8 oc1.model.backgroundcolor = &HBBBBBB case 9 oc1.model.backgroundcolor = &HFFFFFF end select Il faut insérer un bloc de ce type pour chaque «bande». La variable qui contient la première couleur est, comme on l'a vu plus haut x1 ; on effetue un test du type select case... end select pour affecter la couleur correspondant à chacune des valeurs possibles à la «bande».nommée C1. Le nombre hexadécimal correspond aux couleurs Rouge, Vert et Bleu. 4. Insertion du résultat dans le tableur Créer un nouveau programme nommé insere inspiré du code écrit lors de la création automatique d'une macrocommande et l'assigner à l'enfoncement de la souris pour le bouton Fin : sub insere rem ---------------------------------------------------------------------- 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 = olab.text dispatcher.executedispatch(document, ".uno:enterstring", "", 0, args1()) end sub Boîtes de dialogue OpenOffice Page 6