Easy-Micro

ESPACEMEMBRE OpenOffice Basic
Basic Editor

L'éditeur OpenOffice.org Basic

OpenOffice.org Basic ECRIRE UNE MACRO EN BASIC (Alt + F11)
Menu Outils, Macros, Gérer les macros, OpenOffice.org Basic

Pour écrire directement une procédure Basic, dans la boite de dialogue Macro, sélectionnez dans la liste de gauche l'item "Standard" sous le nom de votre classeur CALC et cliquez sur le bouton "Nouveau".

Un nouveau module de code est créé et l'éditeur OpenOffice.org Basic s'ouvre :

REM signifie REMarque (un commentaire). Peut être remplacée par l'apostrophe.
Sub maMacro(), est le début d'une macro avec son nom
End Sub, la fin de la macro

Voir une photo d'écran de l'éditeur OpenOffice.org 3.0 sur le site non officiel d'OpenOffice.org.

OpenOffice Basic

OpenOffice.org Basic Premier exemple de procédure
Faire apparaitre un message à partir d'un bouton
Sub MonMessage()
' Boite de dialogue (0 pour bouton Ok seul, 1 pour Ok/Annuler...)
MsgBox "Bienvenue dans Calc !", 0, "Message"
End Sub
Voir un exemple en ligne d'utilisation de la MsgBox

Exécuter une macro à partir d'un bouton
Pour relier cette macro à un bouton, aller dans Calc dans le menu Affichage, Barre d'outils, Contrôles de formulaire. Clic droit sur votre bouton, menu Contrôle, Onglet Evénements, Lors du déclenchement... Sélectionner votre macro. N'oubliez pas de désactiver le mode Conception (sur la barre d'outils) avant de tester votre bouton.

Procédure évènementielle
Pour lancer cette macro automatiquement à l'ouverture de votre fichier Calc (soit une procédure évènementielle), faite un copier/coller de votre macro depuis votre module "[monfichier Calc.ods].Standard" vers le module "[Mes macros et boîtes de dialogue].Standard" via le menu déroulant de l'éditeur Basic. Ouvrez ensuite la liste des macro (Alt + F11) et cliquez sur le bouton "Assigner" puis sur l'onglet "Evènements". Lors du test, ne vous souciez pas du message d'alert.

OpenOffice.org Basic Quelques exemples de Macro
Sub quelques_exemples()

' Ajuster les lignes de la feuille active (400 pour une hauteur de 0,40 cm)
ThisComponent.currentController.activeSheet.Rows.Height = 400

' Saisir une formule (code incomplet - voir au dessus)
Dim oMaCell As Object
oMaCell.setFormula("=IF(A1>B1;""NON"";""OUI"")")

'Remplir une cellule (code incomplet - voir au dessus)
Dim oMaCell As Object
oMaCell.CellBackColor = RGB(0,0,0) 'indique la couleur de fond

End Sub

OpenOffice.org Basic Pour aller plus loin
Guide de programmation de OpenOffice.org BASIC
How To Programmation
FAQ OpenOffice


< Page précédente OPENOFFICE BASIC Page suivante >