-
Communication VBA / Java
Bonjour tout le monde,
Venant du monde Java, je n'ai que très peu de connaissances en VBA...
J'aimerai faire communiquer Word et Excel (principalement) avec mon application développée en Java. J'aimerai bien (dites moi si je me trompe) ajouter un menu spécifique, qui permette de faire différentes action sur le fichier en cours d'édition, comme par exemple ajouter un graphique ou un tableau, graphique ou tableau dont les valeurs seront demandées à l'application Java, qui sera en cours d'exécution sur la machine locale.
Comment pourrai-je m'y prendre ? Quelles sont les différentes solutions à ma disposition ?
J'ai vu qu'on pouvait communiquer via les sockets, mais n'existe-t-il pas une bibliothèque déjà toute faite permettant de coder le moins possible et donc d'avoir le moins de bugs possible :P
Merci d'avance pour vos réponses :)
-
Dans un premier temps, il faut que le programme Java soit en mesure de passer des informations à Word ou Excel et que ceux-ci puissent les demander. Il faudrait donc que l'application Java développée se comporte comme n'importe quel autre objet automation-able, par exemple sous forme de liaison OLE (ocx).
Il me semble que tu devrais déjà poser ta question dans le forum Java afin de faire en sorte que ton application puisse être utilisée par n'importe quelle autre application win32.
-
Merci pour ta réponse :)
J'ai créé un topic similaire ici (pour ceux que ça intéresse) : http://www.developpez.net/forums/d90...tion-vba-java/
-
Salut,
la methode que j'avais mise en place dans un precedent projet est le passage par un 3e langage avec lequel on passe des parametres aisement : batch :mouarf:
-
Merci pour ta réponse jpcheck :)
En fait, j'ai bien trouvé le moyen de communiquer par socket, le problème étant que winsock a été désactivé sur les derniers windows, et que donc il faut payer et installer une bibliothèque permettant de se connecter à des sockets via VBA (il en existe plusieurs disponibles sur le marché...).
Comme mon application se veut "client léger" (c'est en fait une application qui se télécharge et s'exécute directement, sans installation - JavaWebStart), installer un bout de programme sur la machine foutrait toute cette logique en l'air...
Donc grâce à ton idée jpcheck, j'ai en fait bidouillé !!!
J'ai développé un petit programme en Java qui se charge de faire la communication avec mon application puis écrit le résultat dans un fichier (dont l'adresse est passé en paramètre). Ce programme Java est téléchargé par le "client léger" Java et collé dans le répertoire temporaire du système. La macro VBA n'a plus qu'a exécuter ce programme Java avec les bons paramètres, puis à aller lire le fichier contenant les résultats :)
Grosse magouille donc, mais qui fonctionne, et ce de manière totalement transparente pour l'utilisateur :) Mais bon, comme dans toutes les magouilles, la gestion des erreurs est délicate...
Donc merci pour votre aide :)
-
Nickel,
tu as donc trouve l'etape suivante a ton projet : gestion d'erreurs quand tu nous tiens :mouarf: