Bonjour,

Message de Bob  date 2007-11-08 19:55 :

Le problème sur lequel je bloque maintenant est :
*Comment charger la librairie Javascript automaiquement ?*

En fait, le problème n'est pas lié au chargement de la librairie javascript. Le problème ne se produit qu'au chargement du document !


Je pense que ce doit être une limitation de l'implémentation actuelle des scripts. Par contre on peut appeler (via Basic) une fonction JavaScript de "Mes macros".

Le renvoi d'une valeur par une fonction JavaScript est d'ailleurs plus simple que ton exemple. On récupère la dernière valeur évaluée par la fonction ! Voici une fonction JavaScript renvoyant le produit du premier argument avec un nombre aléatoire entre 0 et 1. Une seule ligne suffit:

ARGUMENTS[0]*Math.random();

Créons cette fonction sous le nom de zozo dans la bibliothèque Javascript BibliEssai créée dans Mes macros.
La fonction Basic intermédiaire s'appellera versZozo :

Function versZozo(s as Double) as Double
Dim oDocScriptProvider as Object
Dim monScript as Object, mspf as object

oDocScriptProvider = ThisComponent.getScriptProvider()
monScript = oDocScriptProvider.getScript("vnd.sun.star.script:BibliEssai.zozo.js?language=JavaScript&location=user")

versZozo = monScript.Invoke(Array(s), Array(1), Array())
End Function

Il ne reste plus qu'à l'appeler dans une cellule, par exemple:
=VERSZOZO(5)
formater la cellule avec plusieurs décimales pour voir le résultat.

Je ferme complètement le document et OpenOffice. A chaque réouverture du document la cellule contient une nouvelle valeur, donc la fonction est bien appelée, sans erreur.

______
Bernard

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

Répondre à