• [^] # Re: C'est peut-être pour leur apprendre à coder finalement

    Posté par . En réponse au journal En Belgique, l’usage de LibreOffice est interdit par les (certaines ?) Écoles !. Évalué à 5. Dernière modification le 15 septembre 2021 à 18:24.

    Attention quand même avant de défendre les outils de développement de macro intégrés à LibreOffice. Ils sont à la ramasse par rapport à Microsoft Office (au point qu'il était même envisagé d'en retirer notamment l'enregistreur de macros à l'époque d'OpenOffice.org, si ma mémoire est bonne).

    1) L'enregistreur de macros, outil parfait pour savoir «comment je fais X avec l'API de mon logiciel», est désastreux puisqu'il ne fait pas d'appels directs mais passe à la place par une API spécifique d'IPC difficile à lire. De plus, il rate une grande partie des événements.

    Exemple : voici la macro pour passer en paysage la page dans Writer

    subtest_macro_page
    rem----------------------------------------------------------------------
    remdefinevariables
    dimdocumentasobject
    dimdispatcherasobject
    rem----------------------------------------------------------------------
    remgetaccesstothedocument
    document=ThisComponent.CurrentController.Frame
    dispatcher=createUnoService("com.sun.star.frame.DispatchHelper")
    rem----------------------------------------------------------------------
    dispatcher.executeDispatch(document,".uno:PageDialog","",0,Array())
    endsub

    Indice : ben ça ne fait qu'ouvrir la fenêtre de style de page...

    2) L'outil a de la coloration syntaxique... Oui, mais il n'a que ça. Pas de complétion de code, l'éditeur de dialogue est bien plus fastidieux à manipuler que dans VBA (pour la faire courte : VBA associe un objet au dialogue, et fait donc correspondre aux événements du dialogue une méthode privée dans l'objet)...

    3) Jusqu'à il y a très très peu de temps (la version 7.2 d'août) il fallait l'indispensable extension XRay pour pouvoir explorer depuis l'outil de développement les méthodes d'un objet.