ebook img

Programmation OpenOffice.org 3 : Macros OOoBasic et API PDF

926 Pages·2009·4.61 MB·French
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Programmation OpenOffice.org 3 : Macros OOoBasic et API

Programmation yd Programmation llr ea cd ro aG OpenOffi ce.org 3 M. OpenOffi ce . L B Bernard Marcelly 3 Laurent Godard Suite bureautique libre, gratuite et multi-plate-forme, OpenOffi ce.org comporte plusieurs langages de script dont OOoBasic. Elle est également munie d’une API permettant de manipuler ses objets. Automatisable et extensible, elle Bernard Marcelly a effectué s’intègre parfaitement au système d’information de l’entreprise. sa carrière dans la R&D .org 3 de grands projets logiciels Le livre de référence sur la programmation OpenOffi ce.org et StarOffi ce de télécommunications. Parmi Écrit par deux contributeurs majeurs de la communauté francophone fr.0pen0ffi ce.org, ce livre est une référence saeus p nroomjetb rOepuesneOs fcfi ocnet.orirbgu,tions g incontournable sur le puissant langage de macros OOoBASIC et sur l’API d’OpenOffi ce.org. Il explique comment un document d’introduction utiliser l’interface utilisateur liée aux macros et aux scripts afi n d’automatiser des tâches répétitives, mais aussi à l’API, des macros r comment tirer parti du langage de OOoBasic pour manipuler des documents, créer des boîtes de dialogue et des et des outils pour faciliter la programmation d’OOo. fl’oArPmI uelsatir edsé,c reixt pglorâitceer àd edse bnaosmesb rdeeu xd eoxnenméepsle esx tdeer nmeasc orous i netté gdreé erosu, tiinnteesr creéputteilris adbelse sé.vénements. Chaque point de Laurent Godard est impliqué o nou Cvoeuavurteé sl edse la Macros OOoBASIC et API Nouveautés liées à la version 3.1 d’OpenOffi ce.org danepnuéiess ddea nnso mlab rceoumsmesu nauté version 3.1 . En plus des fonctions de programmation d’OpenOffi ce.org 2, ce livre couvre les nouveautés de la version 3.1 : Document- OpenOffi ce.org et le Properties, surlignement, notes et tableaux irréguliers dans Writer, gestion de diaporama dans Impress, intégration des développement d’outils macros dans Base, jusqu’aux fonctions peu connues, sans oublier l’exportation PDF, l’export et import de texte encodé, complémentaires reposant sur e l’API d’OOo. Expert reconnu, il le fi ltrage de données, en passant par les fonctions matricielles et la gestion d’événements. La création de boîtes de codirige le projet francophone dialogue ergonomiques et multilingues est expliquée ainsi que les contrôles de formulaire et les formulaires intégrés. et pilote le projet international Extensions d’OpenOffi ce.org nc Au sommaire Tous deux membres actifs o de la communauté Les scripts (cid:129) Niveaux de sécurité (cid:129) Enregistrer et exécuter une macro (cid:129) Langages de script (cid:129) Extensions (cid:129) OOoBasic (cid:129) OpenOffi ce.org, les auteurs fi Gérer les bibliothèques (cid:129) EDI (cid:129) Types de données, tableaux, structures (cid:129) Instructions conditionnelles, sous-programmes ont choisi de reverser leurs i (cid:129) Instructions de traitement (cid:129) Traitement d’erreurs (cid:129) Les documents OpenOffi ce.org (cid:129) Ouvrir, enregistrer, imprimer, droits à des associations t fermer (cid:129) Filtres d’import/export (cid:129) Propriétés de document (cid:129) Formats de nombre (cid:129) Styles (cid:129) Confi guration (cid:129) Writer aidant les logiciels libres. f (cid:129) Zone de texte, curseurs (cid:129) Insérer du texte, le mettre en forme (cid:129) Rechercher, remplacer (cid:129) Tableaux (cid:129) Cadres (cid:129) a Recommandé par Sections (cid:129) Champs de texte (cid:129) Signets et renvois (cid:129) Formes et images (cid:129) Imprimer (cid:129) Calc (cid:129) Feuille, cellule, zone, ligne, fr.openoffi ce.org O colonne (cid:129) Lire, modifi er une cellule (cid:129) Déplacer, recopier (cid:129) Rechercher, remplacer (cid:129) Trier, fi ltrer (cid:129) Fonctions pour Calc m (cid:129) Liens (cid:129) Diagrammes (cid:129) Styles (cid:129) Formes et images (cid:129) Imprimer (cid:129) Draw et Impress (cid:129) Page, arrière-plan, couche (cid:129) Insérer une forme (cid:129) Propriétés des formes (cid:129) Types de formes (cid:129) Points de colle (cid:129) Grouper des formes (cid:129) Insérer des images (cid:129) Objets OLE2 (cid:129) Spécifi cités d’Impress par rapport à Draw (cid:129) Diaporamas (cid:129) Boîtes de dialogue (cid:129) Construire Ber nar d Mar celly m un dialogue avec l’EDI (cid:129) Aspects ergonomiques (cid:129) Les champs de saisie (cid:129) Événements (cid:129) Pages multiples (cid:129) Dialogues n multilingues (cid:129) Dialogues de l’API (cid:129) Sources de données (cid:129) Le concept Base (cid:129) Les sources de données (cid:129) Se connecter (cid:129) Accès par SQL, par ResultSet, par RowSet (cid:129) Trier, fi ltrer (cid:129) Transactions (cid:129) Publipostage (cid:129) Formulaires (cid:129) Les contrôles (cid:129) Laur ent Godar d Contrôles et base de données (cid:129) Événements (cid:129) Macros et document Base (cid:129) Formulaires et document Base (cid:129) Techniques a avancées (cid:129) Répertoires d’installation (cid:129) Lire et modifi er la confi guration (cid:129) Les fi chiers et l’API (cid:129) Aspects utilisateur (cid:129) e Le Dispatcher (cid:129) Méthodes propres à MS-Windows (cid:129) Comprendre l’API (cid:129) L’API depuis OOoBasic (cid:129) La documentation r API (cid:129) Xray (cid:129) Routines utilitaires (cid:129) Ressources de l’Internet (cid:129) Listes de diffusion (cid:129) Forums (cid:129) IssueZilla. g p À –––– AÀAA uu uqcxxxe u éudutitéxu i vldiqsesiulaao’int apetmpsude irgeursrtr e esdàn ’ sOtdt o’psvaueepesnrp sO lci cfecOfiau pcetxeei otq.nnouO srio fg fisd ucoe’eeutvn .hoStarrrtietgaaep rngerOtits fe fises c’ oineeu?it th sieasorieut reàhvn ailcti’At earPsenI c tid nraé’fOouerptrmoe dmnaeOtasiftqfi i musceeeasr.oc erragoty saée nttet ex ànià sd stiroanennt é tlleegausrnre g ;ras gulaeit esd uebi tumer aeOcapruoetsniq OuOfeOfi co;eB.AorSgIC ;. Code éditeur : G12522BN : 978-2-212-12522-1 782212125221 Conception : Nord Compo Pro O S 9 I 45 € GG1122552222__pprrooggOOppeennOOffffiiccee33..iinndddd 11 2266//0055//0099 1111::5500::1166 G12522_Titre_OpenOffice_XP 14/05/09 9:46 Page 2 Programmation OpenOffice.org 3 Macros OOoBASIC et API CHEZ LE MÊME ÉDITEUR Dans la même collection T. Ziadé. – Programmation Python. N°12783, 2e édition, 2009, 586 pages. J.-M. defrance et T. audoux. – Dreamweaver CS4. N°12462, 2009, 610 pages. R. Goetter. – CSS2. Pratique du design web. N°12461, 3e édition, 2009, 318 pages. A. Vannieuwenhuyze. – Flex 3. Applications Internet riches avec Flash ActionScript 3, MXML et Flex Builder. N°12387, 2009, 532 pages. G. Leblanc. – Silverlight 2. N°12375, 2008, 330 pages. T. lebrun. – WPF par la pratique. N°12422, 2008, 318 pages. E. Daspet et C. pierre de Geyer. – PHP 5 avancé. N°12369, 5e édition, 2008, 844 pages. C. porteneuve. – Bien développer pour le Web 2.0. N°12391, 2e édition 2008, 600 pages. Autres ouvrages s. Gautier, G. biGnebat, c. hardy, M. pinquier. – OpenOffice.org 3 efficace. N°12408, 2009, 440 pages avec CD-Rom (Accès Libre). A.-L. quatravaux et d. quatravaux. – Spip 2. Premiers pas pour créer son site web. N°12502, 2009, 300 pages. x. delenGaiGne, p. MonGin. – Freemind. Boostez votre efficacité. N°12448, 2009, 272 pages. d. J. barrett. – MediaWiki. Utiliser, installer et administrer un wiki. N°12466, 2009, 372 pages. a. boucher.– Ergonomie web. Pour des sites web efficaces. N°12479, 2e édition 2009, 440 pages. d. robert. – Gimp 2.6. Premiers pas en retouche photo. N°12480, 2009, 316 pages. c. GéMy. – Inkscape efficace. n°12425, 2009, 280 pages. a . caillau. – Dotclear 2. Créer et administrer son blog. n°12407, 2008, 242 pages. M. nebra. – Réussir son site web avec XHTML et CSS. N°12307, 2e édition, 2008, 316 pages. G12522_Titre_OpenOffice_XP 14/05/09 9:46 Page 1 Programmation OpenOffice 3 .org Macros OOoBASIC et API L a u r e n t G o d a r d B e r n a r d M a r c e l l y ÉDITIONS EYROLLES 61, bd Saint-Germain 75240 Paris Cedex 05 www.editions-eyrolles.com Le code de la propriété intellectuelle du 1er juillet 1992 interdit en effet expressément la photocopie à usage collectif sans autorisation des ayants droit. Or, cette pratique s’est généralisée notamment dans les établissements d’enseignement, provoquant une baisse brutale des achats de livres, au point que la possibilité même pour les auteurs de créer des œuvres nouvelles et de les faire éditer correctement est aujourd’hui menacée. En application de la loi du 11 mars 1957, il est interdit de reproduire intégralement ou partiellement le présent ouvrage, sur quelque support que ce soit, sans autorisation de l’éditeur ou du Centre Français d’Exploitation du Droit de Copie, 20, rue des Grands-Augustins, 75006 Paris. © Groupe Eyrolles, 2009, ISBN : 978-2-212-12522-1 Avant-propos Rappelons en guise de préambule qu’OpenOffice.org, suite bureautique libre et gra- tuite, est constituée des modules habituels de traitement de texte, de tableur, de pré- sentation, ainsi que de modules de dessin et d’édition de formules mathématiques. Tournant aussi bien sous Windows et Linux que sous Mac OS X, elle peut être uti- lisée en lieu et place de la suite Microsoft Office. À NOTER OpenOffice.org et StarOffice OpenOffice.org est une base à partir de laquelle diverses variantes ont été dérivées. La plus connue est Star- Office, commercialisée par Sun Microsystems, dont les versions8 et 9 sont respectivement au niveau des versions2 et 3 d’OpenOffice.org. Le contenu de ce livre s’applique généralement à toutes ces variantes. À qui s’adresse ce livre ? Vous êtes un utilisateur de la suite OpenOffice.org2 ou 3 (ou StarOffice8 ou 9) et vous connaissez bien ses nombreuses possibilités. Cependant, dans certains cas, vous souhaitez simplifier des manipulations répétitives. Le langage de macros Basic d’OpenOffice.org, intégré dans la suite, peut répondre à votre besoin. Il est conçu pour être simple d’emploi, tout en étant puissant. Avec ce livre, vous apprendrez à programmer la suite OpenOffice.org, par exemple pour ajouter une fonctionnalité personnelle déclenchée par un bouton sur une barre d’outils ou par un raccourci. Vous pourrez même automatiser des traitements, par exemple effectuer des modifications dans toute une série de documents Writer, ou lire une base de données pour en extraire des informations et les insérer dans un document Writer. Programmation OpenOffice.org – Macros OOoBASIC et API VI Ce livre est-il accessible à un débutant en programmation? Les connaissances de base de la programma- tion sont exposées dans les premiers chapitres. Nous avons aussi inclus des conseils et des bonnes prati- ques, qui vous éviteront bien des déboires. À chaque étape, nous avons choisi des exemples volontaire- ment simples, chacun focalisé sur le point à expliquer. Évidemment, le chemin sera plus ardu et plus long si vous en êtes à vos tout débuts: avancez très progressivement, en écrivant de nombreux petits pro- grammes pour vous approprier les concepts de base. Ne craignez pas les erreurs, elles sont source de connaissances. Progressivement, vos programmes s’enrichiront et deviendront toujours plus utiles, à votre grande satisfaction. Si vous avez l’expérience de la programmation, la première partie vous semblera facile. Méfiez-vous cependant des analogies avec d’autres langages, car chacun a ses particularités. Si vous connaissez la programmation orientée objet, vous compren- drez plus facilement les principes de l’API OpenOffice.org, qui sera utilisée à partir de la troisième partie; mais ce n’est pas indispensable. Si vous êtes dans un service informatique chargé d’automatiser des processus utili- sant la suite OpenOffice.org ou StarOffice, ou de migrer des applications écrites pour la suite MS-Office, cet ouvrage vous économisera de très nombreuses heures de recherche et de tâtonnements et accélérera la phase d’apprentissage. Comme la mémoire humaine a ses limites, vous souhaiterez garder ce livre à portée de main. Il est cependant probable que vous rencontrerez des besoins non décrits ici, mais la base de connaissances acquises vous facilitera l’étude de l’API OpenOffice.org. Même si votre projet n’emploie pas Basic, celui-ci peut vous aider à trouver plus rapidement comment utiliser telle ou telle fonctionnalité et en déduire le codage équivalent dans votre langage. PRÉCAUTION Pour tirer parti de ce livre, il est recommandé de bien connaître les possibilités qu’OpenOffice.org offre au niveau de son interface utilisateur, dans les domaines sur lesquels vous souhaitez intervenir par macro. En effet, autant éviter un développement si quelques manipulations résolvent votre problème ou le sim- plifient. Savez-vous bien utiliser les styles de paragraphe, de caractère, de page? les modèles de document? la recherche générique? le copier-coller avec ou sans formatage? l’utilisation des bases de données? Savez-vous ce qu’est un signet? N’hésitez pas à lire ces excellents livres donnant toutes les astuces pour être productif sous OpenOffice.org. ROpenOffice.org 2.2 efficace de Sophie Gautier, Christian Hardy, Frédéric Labbé, Michel Pinquier, éditions Eyrolles 2007. ROpenOffice.org 3 efficace de Sophie Gautier, Gilles Bignebat, Christian Hardy, Michel Pinquier et Laurent Godard, éditions Eyrolles 2009. Avant-propos VII Contenu de l’ouvrage Vous trouverez une description complète et précise du Basic OpenOffice.org, rédigée pour être compréhensible pour un débutant en programmation, tout en apportant des informations indispensables au programmeur expérimenté. Vous apprendrez comment utiliser facilement l’interface de programmation d’appli- cation (API) pour lire, écrire, modifier les documents OpenOffice.org, accéder aux bases de données, et dialoguer avec l’utilisateur. L’API d’OpenOffice.org est extrê- mement riche et parfois complexe. Il nous a fallu privilégier les sujets les plus cou- rants et les vérifier chacun par des macros. Si vous ne trouvez pas la réponse à une question dans cet ouvrage, c’est peut-être qu’il s’agit d’un cas rare et particulièrement difficile à réaliser. L’API est une interface indépendante du langage de programmation. À cet égard, les descriptions des fonctionnalités sont valides pour divers environnements: les lan- gages de script intégrés à OpenOffice.org (Basic, Python, JavaScript, BeanShell, cités au chapitre1), le pilotage par un langage externe via COM (abordé au chapitre14), voire même dans des composants développés en Java ou C++. Un déve- loppeur d’applications pourra facilement transposer dans un autre langage les exem- ples Basic donnés dans cet ouvrage. L’annexeA décrit les principes de l’API, son uti- lisation par le Basic OpenOffice.org, et comment aller plus loin avec Xray et la documentation de l’API et les outils d’introspection (Xray et similaires). Notre souci a été d’être clair et progressif, sans trop entrer dans des considérations théoriques. Nous avons pour cela créé des centaines d’exemples de macros Basic, avec des documents spécialement configurés pour chaque essai. Tous les exemples ont été testés, et pour la plupart retestés, sur les versions récentes. Ils sont mis à votre disposi- tion en téléchargement libre sur le site www.editions-eyrolles.com – cela vous épargnera l’effort de frappe et les erreurs de resaisie. Ces exemples peuvent servir de modèles pour créer rapidement de nouvelles macros, en quelques copier-coller. Prenez votre temps en lisant les explications et les exemples: chaque phrase est importante. Nulle prétention littéraire pour ce texte technique. N’hésitez pas à relire des passages que vous pensez connaître. La source de documentation étant presque exclusivement en anglais, nous avons choisi d’aider le lecteur peu familier de cette langue en traduisant les termes impor- tants et en utilisant des noms de variables en français. À l’usage, le fait d’employer des noms français facilite beaucoup l’assimilation, même si on lit couramment l’anglo-américain. Programmation OpenOffice.org – Macros OOoBASIC et API VIII Ce livre n’est pas une simple traduction de documents anglais, ni une collection d’astuces récoltées sur les forums. Il est une synthèse de connaissances et présente de façon directement utile beaucoup d’informations peu connues, mal documentées ou non documentées. Nous signalons notamment des anomalies de fonctionnement, des limitations, ou des erreurs de documentation afin de vous éviter les difficultés que nous avons rencontrées. Nous mettons aussi à votre disposition en téléchargement un grand nombre de rou- tines utilitaires pour simplifier de nombreux codages. Leur liste est donnée à l’annexeB. L’interface utilisateur des versions successives présente inévitablement de petites modifications par rapport à notre version de travail. De plus, la forme des icônes peut varier d’une distribution à l’autre, selon le système d’exploitation, ou la configuration choisie par l’utilisateur. Cela ne devrait pas vous empêcher de retrouver l’équivalent de ce qui est imprimé dans ce livre. La première partie montre l’utilité de la programmation OpenOffice.org, et présente les langages de script et les diverses manières de déclencher un script. Vous verrez comment utiliser l’enregistreur de macro, et pourquoi il est finalement assez limité. Contrairement à la concurrence, OpenOffice.org supporte plusieurs langages de script; nous en faisons une comparaison. Le but de la programmation Open- Office.org est souvent d’ajouter des fonctionnalités. Les extensions sont un moyen de les diffuser facilement, nous en montrerons les possibilités ainsi que les outils pour les produire. Dans la deuxième partie, nous décrivons le langage OOoBasic. Vous faites connais- sance avec l’environnement de développement intégré, et vous l’utilisez pour écrire et exécuter votre première macro. Vous apprenez les diverses manières d’exécuter une macro. Même si vous connaissez déjà un Basic (par exemple Visual Basic™ qui lui est proche), parcourez les chapitres de cette partie. En cas de problème d’exécution, relisez-la, elle contient bien des détails importants et souvent non décrits dans la documentation officielle. À partir de la troisième partie, vous apprenez à écrire ou modifier des documents OpenOffice.org: Writer, Calc, Draw, etc. Vous aurez besoin d’utiliser l’API, cœur de la programmation OpenOffice.org dans quelque langage que ce soit. Mais nous éviterons les exposés théoriques rébarbatifs pour nous concentrer sur les solutions à des besoins réels. OpenOffice.org réutilise des concepts généraux dans chaque type de documents, mais avec des variations propres à chacun. Nous avons regroupé les principes communs dans le chapitre «Les documents OpenOffice.org», puis décrit les aspects spécifiques aux documents Writer, Calc et Draw/Impress dans les chapi- tres suivants. Dans chacun de ces chapitres, il n’est nul besoin d’effectuer une lecture Avant-propos IX complète : après avoir acquis les notions de base, utilisez ensuite le livre comme une référence, et n’approfondissez que les sujets qui vous sont utiles. La quatrième partie va au-delà des manipulations de documents pour vous permettre de construire des applications élaborées. Vous y apprenez à afficher des dialogues tout à fait semblables à ceux des applications classiques, à utiliser une base de données et des formulaires élaborés. Des aspects plus transversaux sont ensuite traités: gestion de la configuration, gestion de fichiers depuis l’API, utilisation du Dispatcher, interac- tion avec le monde MS-Windows, et diverses méthodes bien utiles. Les annexes présentent de nombreuses informations complémentaires. Nous expli- quons ce qu’est l’API et comment en obtenir des informations pour aller encore plus loin. Nous présentons ensuite une liste de routines utilitaires dont certaines ont été utili- sées pour simplifier nos exemples. Nous signalons enfin les ressources Internet incon- tournables pour qui souhaite se tenir à jour : il s’agit de forums où chercher assistance, ou de sites fournissant des exemples de macros, des documents explicatifs et des outils. ASPECTS JURIDIQUES Les descriptions, les exemples et les divers logiciels de cet ouvrage et des fichiers disponibles en téléchar- gement sont fournis comme potentiellement utiles, mais sans aucune garantie, ni explicite ni implicite, y compris les garanties de commercialisation ou d’adaptation dans un but spécifique. Les exemples sont fournis dans un but d’explication et leurs principes sont librement réutilisables. Quelques routines utilitaires sont soumises à la licence LGPL (comme indiqué en commentaire dans le codage, voir le Zip téléchargeable). Cette licence, peu contraignante, est décrite sur le site http:// www.gnu.org/copyleft/lesser.html. Une traduction non officielle de la licence LGPL est disponible sur le site http://www.linux-france.org/article/these/licence/lgpl/lgpl_monoblock.html. Changements par rapport à la précédente édition Avec cette nouvelle édition, totalement revue et réorganisée, nous avons ajouté des notions qui n’avaient pas été décrites, tenu compte des modifications et ajouts apportés par les versions successives d’OpenOffice.org2 et 3, amélioré de nombreux codages, mis à jour les références d’adresses Internet, et signalé des outils apparus depuis la version précédente de notre livre. Pour alléger la lecture, nous avons supprimé ce qui était spécifique de l’ancienne version1 d’OpenOffice.org, et les limitations propres à la version initiale2.0. Sauf indication con- traire dans le texte, ce qui est décrit est aussi valable pour les dernières versions2 (versions2.3.1 et plus récentes). Les copies d’écran sont faites avec la version3.

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.