Bonjour Benjamin BERTEAUX
Message du 2006-05-10 08:41:
Bonjour à tous !

Voila, je rencontre actuellement un petit problème. J'ai créé des macros sous OpenOffice 2.02 au niveau de l'application et je viens de les déplacer vers un fichier ods (ces macros concernent des manipulations au niveau de Calc).

Voici ma structure :

* Standard : Macro pour charger ma librairie "Malib" perso et mes boites de dialogues + Interface des fonctions de Malib * Malib : protégée par un mot de passe, celle-ci contient toutes mes focntions et procédures


Tant que les macros étaient situées au niveau de l'application, tout fonctionnait parfaitement bien. Depuis que je les ai déplacées sur un fichier ods, celle-ci ne fonctionnent plus.

Messages d'erreurs rencontrés :
/    * Mémoire tampon insufisante
 ???  peut-être un bouclage récursif
    * Variable d'objet non paramétrée/

Voici les procédures utilisées pour charger ma bibliothèque :
/    * BasicLibraries.LoadLibrary("Malib")
    * Globalscope.DialogLibraries.LoadLibrary("Malib")/

Ne pas utiliser GlobalScope, puisque MaLib est dans le document.


Faut-il ajouter le nom du document lorsque l'on charge une librairie placée dans un document ?

Non. De toute façon tu ne peux charger qu'une bibli du document en cours.


Voici un exemple d'interfaçage de mes fonctions :
/Function annee() As String
    annee = Malib.annee()
End Function/

Cette fonction est écrite dans ma bibliothèque Malib et je l'ai interfacée de la sorte pour qu'elle fonctionne à son appelle depuis une cellule.
Cette méthode est-elle toujours valable pour des macros d'un document ods ?

Tu dois charger Malib au début de la fonction interface et non pas sur l'évènement chargement du document car l'évaluation des formules de cellules se fait avant cet évènement. Il vaut mieux donner un nom spécifique à la macro de Malib, cela évite de qualifier l'appel et évite les codages ambigus source d'erreurs.

   Bernard

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à