L'appel de code VBA à partir de Java

Salutations StackOverflow,

J'ai cherché sur le grand Internet et ont été grevés par de nombreux déchets de postes, ou des réponses qui expliquent l'exact inverse de ce que je suis d'essayer.

J'ai un fichier Excel avec un grand nombre de code VBA. Il y a 4 sous-programmes qui prennent pas de paramètres qui peuvent être appelés par l'utilisateur lorsque le document est ouvert dans Excel, ces manipuler les données dans les différentes feuilles que nécessaire. Nous avons une grande application Java que nous tenons à interagir avec ce document en appelant les Macros à partir de l'environnement Java. Le point est que nous n'avons qu'à écrire le code VBA une fois et puis Java peuvent appeler pour l'exécution. En outre, nous voulons nous supposons que l'utilisateur de l'application Java n'est pas nécessairement un accès immédiat à Excel, mais fonctionne sur une machine Windows. Comment doit-on faire?

Ne nous compiler le code VBA dans une DLL, et de l'appeler à partir de l'intérieur de Java? Comment compiler la DLL, ne nécessitant l'utilisation de Visual Studio? Comment pouvons-nous appeler la DLL à partir de Java? Devrions-nous essayer une certaine sorte d'objet COM?

Veuillez noter que, comme la plupart des communes de réponse à ma question d'ailleurs, je comprends tout à fait clairement comment appeler Java dans VBA, mais de ne pas appeler le VBA à partir de Java.

Vous en remercie d'avance.

Juste pour préciser, c'est un local (côté client) de l'application Java?
Oui, le document Excel est local pour le programme Java, et le programme Java est entièrement du côté client.
Avez-vous regarder ce stackoverflow.com/questions/2805763/...?
VBScript et VBA ne sont pas la même chose, donc j'hésite à dire que c'est la solution finale. Aussi, il demande à l'utilisateur d'avoir Excel sur leur machine. C'est quelque chose que nous sommes flexibles sur, mais serait plutôt de ne pas l'exiger. Est possible de le faire sans l'installation de la suite Office sur l'ordinateur du client? Nous pouvons le faire pour créer la Dll, mais serait plutôt de ne pas le mandat de l'utiliser.
Si vos données dans Excel, et vous souhaitez appeler des macros Excel dans le document à traiter les données, mais vous ne voulez pas exiger Excel soit installé sur le client. Je ne peux pas voir comment cela va fonctionner: même lorsque vous l'avez trouvé comment appeler VBA à partir de Java, si il n'y a pas Excel qui semble être un peu une barrière...

OriginalL'auteur Reivax | 2011-07-26