IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenOffice & LibreOffice Discussion :

Dépendances de macros BeanShell [OpenOffice][Texte]


Sujet :

OpenOffice & LibreOffice

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 9
    Points : 33
    Points
    33
    Par défaut Dépendances de macros BeanShell
    Salut,

    J'écris des macros en BeanShell qui ont pour but de fusionner des champs dans un document Writer en passant par des Webservices. La partie cliente du code qui accède aux Webservices est générée par l'API Axis, ce qui implique des dépendances vis à vis de quelques fichiers jar. Dans mon cas, la résolution de ces dépendances est assurée par un ajout des fichiers jar au classpath du BeanShell d'OpenOffice directement dans la macro, via la commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    addClassPath("path\vers\mon\jar");
    Mon problème est le suivant : le but est de faire en sorte que la macro fonctionne sans que l'utilisateur n'ait à installer manuellement les fichiers jar sur sa machine. y a-t-il un moyen, pour un client donné, d'automatiser l'ajout des dépendances nécessaires à l'utilisation de la Macro ?
    Autrement dit : est-il possible pour un utilisateur Open Office lambda de lancer une macro d'un fichier odt qui se débrouillerait pour installer/résoudre ses propres dépendances sans autre intervention de sa part que l'ouverture du document OOo qui contient la macro ?

    Ca pourrait se ramener à : peut-on ajouter des classes java sous forme de jar (ou autre) accessibles à une macro dans un unique document OpenOffice ?

    Merci d'avance pour votre aide !

  2. #2
    Nouveau membre du Club
    Inscrit en
    Juillet 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 9
    Points : 33
    Points
    33
    Par défaut ...
    J'ai fini par trouver la réponse y'a quelques jours de ça, je l'expose brièvement :

    Les macros d'un fichier OOo sont placées dans un dossier Scripts/<langage>/<librairie> à la racine de ce fichier, où :

    -<langage> représente du langage utilisé pour écrire la macro : Java, BeanShell, Python, JavaScript. (tout en minuscules il me semble).

    -<librairie> représente le nom que l'on veut donner à l'ensemble des macros que l'on regroupera dans ce dossier. On y trouve également un fichier de description des macros nommé parcel-descriptor.xml. C'est lui qui va nous permettre de préciser un classpath pour les macros. Le plus simple est de créer une macro bidon sous OOo qui génère les dossiers et le parcel-descriptor dans le fichier courant.

    Reste à modifier notre parcel-descriptor :

    Entre deux balises <script>, on ajoute les éléments suivants :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <languagedepprops>
    	<prop name="classpath" value=".:cheminVersUnJar:cheminVersUnAuterJar" />
    </languagedepprops>
    Les paths sont relatifs à l'emplacement du fichier parcel-descriptor.xml. Reste à ajouter les jars dans notre document OOo et le tour est joué.

    Plein d'exemples ici.

    Voilà!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB6] Exécuter une macro Access
    Par Nektanebos dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 22/02/2006, 16h32
  2. [VBA-E] Macro ouverture fichier déja ouvert
    Par bhaal76 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/12/2002, 14h30
  3. [VBA-E] [Excel] Lancer une macro à une heure donnée
    Par Lysis dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/10/2002, 12h15
  4. Qu'est-ce qu'une macro ?
    Par karli dans le forum Assembleur
    Réponses: 2
    Dernier message: 01/09/2002, 03h38
  5. Réponses: 2
    Dernier message: 22/07/2002, 12h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo