Skip to Content

Débuter en programmation sous OpenOffice.org

But de ce document

Expliquer comment débuter en programmation sous OOo. Ce document s’adresse à des personnes ayant déjà programmé et si possible en programmation objet et désirant commencer à programmer sous OOo en partant sur de bonnes bases.

Écriture du premier programme dans Calc

Depuis Calc, passer dans l’éditeur de programmes :

  •  Menu « Outils / Macros / Gérer les macros / OpenOffice.org Basic »
  •  Dans la partie gauche, sélectionner le nom du document document et « Standard »
  •  Cliquer sur le bouton « Nouveau », laisser le nom « Module 1 » et OK
  •  Effacer le texte proposé par défaut et saisir ceci :

    sub Programme1()

     thisComponent.Sheets.getByName("Feuille1").getCellRangeByName("A1").string="Bonjour"

    end sub

    Exécuter manuellement un programme

    Depuis Calc, pour exécuter manuellement ce programme, il faut faire :

  •  Outils / Macros / Exécuter la macro
  •  Dans la partie gauche, sélectionner le nom du fichier, puis « Standard » puis « Module1 »
  •  Dans la partie droite, sélectionner le programme et cliquer sur « Exécuter »

    Exécuter le programme avec un bouton

    Depuis Calc :

  •  Affichage / Barre d’outils / contrôle de formulaires
  •  Cliquer sur l’icône en forme de bouton et dessiner un bouton sur la feuille
  •  Clic droit sur le bouton et « Contrôle »
  •  Cliquer sur « ... » à droite de « Lors du déclenchement »
  •  Cliquer sur « Assigner »
  •  Sélectionner la macro et fermer les fenêtres
  •  Dans la barre d’outils, cliquer sur le bouton pour sortir du mode conception de formulaires
  •  Cliquer sur le bouton ajouter pour tester la macro :-)

    Créer une macro avec l’enregistreur de macros

    Dans Calc :

  •  Sélectionner une cellule
  •  Outils / Macros / Enregistrer une macro
  •  Saisir dans la cellule « Bonjour »
  •  Cliquer sur « Terminer l’enregistrement »
  •  Indiquer un nom à la macro et dans quel module il faut l’enregistrer
  •  Cliquer sur « Enregistrer »

    Comparer la macro enregistrée avec la macro écrite à la main en allant dans l’éditeur :

  •  Menu « Outils / Macros / Gérer les macros / OpenOffice.org Basic »
  •  Dans la partie gauche, sélectionner le nom du document document et « Standard »

    L’enregistreur de macros se contente d’enregistrer les appels aux menus. Il n’utilise pas les objets, ce qui le rend particulièrement illisible et donc quasiment inutilisable dans la plupart des cas. Je conseille donc de ne pas l’utiliser.

    Télécharger et installer la documentation de l’API

    Télécharger le SDK (Software Development Kit) contenant la documentation de l’API (Application programming interface), à cette adresse :

  •  http://api.openoffice.org/
  •  http://download.openoffice.org/2.0.3/sdk.html

    Une fois le fichier téléchargé, il faut le rendre exécutable :

    $ chmod +x OOo_2.0.3_LinuxIntel_sdk.sh

    Ensuite, il faut l’exécuter pour décompresser le paquet RPM :

    ./ OOo_2.0.3_LinuxIntel_sdk.sh

    Remarque  : Par défaut le RPM est décompressé dans « /var/tmp/unpack_openofficeorg »

    Sous Debian, il faut convertir ce RPM en paquet Debian :

    # alien /var/tmp/unpack_openofficeorg/RPMS/openoffice.org-sdk-2.0.3-5.i586.rpm

    Et pour finir, il faut installer le paquet :

    # dpkg -i openoffice.org-sdk_2.0.3-6_i386.deb

    Ce paquet installe les fichiers dans le dossier suivant :

  •  /opt/openoffice.org2.0_sdk

    La documentation est donc disponible à cette adresse :

  •  /opt/openoffice.org2.0_sdk/index.html

    Télécharger et installer xRay

    xRay est une macro permettant d’obtenir facilement la liste des méthodes et propriétés d’un objet.

    Page de téléchargement de cet outil :

  •  http://fr.openoffice.org/Documentation/How-to/indexht-programmation.html
  •  http://fr.openoffice.org/Documentation/How-to/Basic/XrayTool50_fr.sxw

    Pour installer xRay, il faut :

  •  menu Outils > Macros > Gérer les macros > OpenOffice.org Basic
  •  cliquer le bouton “ Gérer... ”
  •  cliquer sur l’onglet Bibliothèques
  •  choisir dans la liste déroulante Emplacement : Mes macros et boîtes de dialogue
  •  cliquer sur le bouton “ Ajouter... ”
  •  choisir le fichier « XrayTool50_fr.sxw » téléchargé précédemment
  •  ATTENTION : Décochez la coche Standard
  •  cliquer OK

    Tester xRay

    Pour tester xRay, il faut utiliser dans un programme la commande «  xray  » suivi de l’objet à analyser.

    Cette ligne analyse l’objet «  thisComponent  » et on pourra retrouver la propriété «  sheets  »

    xray thisComponent  

    Cette ligne analyse l’objet «  Sheets  » et on pourra retrouver la méthode «  getByName  »

    xray thisComponent.Sheets

    Cette ligne analyse l’objet «  getByName("Feuille1")  » et on pourra retrouver la méthode «  getCellRangeByName  »

    xray thisComponent.Sheets.getByName("Feuille1")

    Cette ligne analyse l’objet «  getCellRangeByName("A1")  » et on pourra retrouver la propriété «  string  »

    xray thisComponent.Sheets.getByName("Feuille1").getCellRangeByName("A1")

    Configurer xRay pour accéder directement à la documentation d’une propriété ou d’une méthode

    Quand xRay est exécuté, il faut cliquer sur le bouton «  Configurer  » et indiquer le chemin du SDK

  •  /opt/openoffice.org2.0_sdk

    Ensuite, il faut lui indiquer le chemin du navigateur à exécuter. Dans mon cas, je mets simplement «  firefox  » sans chemin.

    Une fois la configuration validée par « OK », il suffit de placer le curseur sur une méthode ou une propriété et de cliquer sur « Documentation du SDK » pour afficher la documentation dans le navigateur indiqué.

    Autres sources d’informations

  •  Le site francophone de OOo : http://fr.openoffice.org/Documentation/Index.html
  •  La liste de diffusion Francophone « prog-fr » : http://fr.openoffice.org/contact-forums.html
  • Un livre incontournable :

  •  http://www.eyrolles.com/Informatique/Livre/9782212117639/livre-programmation-openoffice-org-2.php

    Historique des modifications

    Version Date Commentaire
    0.1 27/09/06 Création par Tony GALMICHE
  • Commentaires

    > Débuter en programmation sous OpenOffice.org

    Merci pour la relecture.

    > Débuter en programmation sous OpenOffice.org

    Article clair.

    Pas vu de faute d’orthographe (mais je ne suis pas dico d’or).

    tyc