Bonjour Xavier,
Cela ne marche pas parce que l'évaluation des expressions Calc à l'ouverture du
document se fait avant l'évènement "Chargement du document".
La solution est soit de laisser les fonctions dans Standard, soit de créer dans
Standard une fonction relais pour chaque fonction, qui charge la bibliothèque,
appelle la fonction de la bibliothèque et renvoie le résultat obtenu...
Si tu mets la bibliothèque dans Mes Macros, tu peux charger OpenOffice avant
d'ouvrir le document Calc, et ça fonctionne.
Sauf qu'il y a une bogue :
Il faut que la bibliothèque s'appelle Library1 !
Si la bibliothèque ne s'appelle pas Library1, mais par exemple machin ou
Library2, Calc renvoie obstinément #VALEUR! même si la bibliothèque est déjà
chargée ! On revient alors à la solution précédente.
Bernard
Message de xavier roguiez date 2009-12-08 21:14 :
xavier roguiez a écrit :
Bonsoir
j'avais stocké toutes mes macros fonctions dans la librairie standard.
L'appel depuis calc se faisait donc sans problème, mais j'ai
finalement déplacé ces macros fonctions, dans une autre librairie
identique sous un autre nom ooBA.
J'ai ensuite crée une procédure
Sub ChargeOO
BasicLibraries.LoadLibrary("ooBA")
End Sub
Que je lance à l'ouverture, mais les fonctions ne sont toujours pas
accessibles sous Calc. Dans les cellules il me répond "?NOM"
Cela doit être tout bête mais je sèche sur le dossier ?
Bonsoir
En fait j'ai un peu modifié mon fichier, mais cela ne fonctionne
toujours pas comme je le voudrais.
J'ai un fichier ooBA.ods qui contient dans la librairie ooBA, avec
toutes mes macros fonctions.
J'ai un sous routine :
Sub LoadingLibraries
BasicLibraries.LoadLibrary("ooBA")
End Sub
Ensuite sous calc j'ai personnalisé, afin que la macro LoadingLibraries
soit lancé à l'ouverture du document. Mais ce que j'observe, c'est que
calc se lance, recalcule toutes les cellules puis charge mes macros...Et
pendant le recalcul il lui manque toutes les fonctions, et il m'affiche
"#NOM ?"
Si j'édite la cellule et valide, le calcul se fait.
Et je voudrais l'inverse, est ce possible ? C'est à dire que Calc charge
mes macros puis lance le recalcul des cellules.
Je pense pouvoir le faire en installant mes macros dans Open Office
directement et non dans le fichier source ooBA.ods. Mais en cours de
développement je voulais le faire en "local"
Est ce que je passe à côté de quelque chose ?
D'avance merci
xavier
---------------------------------------------------------------------
To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org
For additional commands, e-mail: prog-h...@fr.openoffice.org
---------------------------------------------------------------------
To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org
For additional commands, e-mail: prog-h...@fr.openoffice.org