Executer un .jar en VBA

Maudya Messages postés 8 Date d'inscription mardi 7 juin 2011 Statut Membre Dernière intervention 8 juin 2011 - 7 juin 2011 à 10:06
 Jesse10 - 4 oct. 2012 à 10:15
Bonjour à tous.
j'ai crée un programme sur VBA et sur éclipse.
j'ai mis mon programme java d'éclipse en .jar et j'aimerais maintenant l'exécuter depuis mon code VBA;
Mon programme java sort uniquement des fichiers de sorties.

j'ai essayé shell, shellExecute et Process.start.

ShellExecute (java - Xms256m - Xmx256m - jar & yourJARFile)

Mais ca ne fonctionne jamais, soit j'ai des message d'erreur, soit ca ne beugue pas, mais mon .jar ne s'exécute pas.
J'ai des connaissances en VBA, mais je ne suis pas informaticienne, et tous les forum sur ce sujet sont très compliqués.

Si vous savez commun faire, votre aide me fera fort utile!!
Merci

20 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
7 juin 2011 à 11:03
Bonjour,
Tu me parais tout mélanger , à commencer par VB6, VB.Net et VBA.

Essaye ceci (que je ne peux tester moi-même sans .jar):
Shell("java.exe -jar " & <yourJARFile>)

ou yourJARFile doit être exprimé par son chemin complet
En appelant toutefois ton attention sur le fait que cela ne pourrait fonctionner si tu attends des valeurs en retour de ton "yourJARFile" (bien sûr).



____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
Maudya Messages postés 8 Date d'inscription mardi 7 juin 2011 Statut Membre Dernière intervention 8 juin 2011
7 juin 2011 à 11:20
je n'attends effectivement aucune valeur en retour, donc cela ne pose pas problème.
J'ai essayé ce code, mais j'ai un message d'erreur qui me dit "expression attendue" si je met des guillemet autour de mon chemin, soit "erreur de syntaxe" si j'enlève les guillemet.
j'ai essayé de mettre le chemin avant, mais il me dit "erreur de syntaxe" aussi.

Sub REP()
yourJARFile = "C:\Users\Act750\Desktop\Stage Maud\java\MarketingAnalysis-0.0.1-SNAPSHOT.jar"
Shell("java.exe -jar " & <yourJARFile>)
End Sub


Merci
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
7 juin 2011 à 11:49
Bé !
c'est :
Shell("java.exe -jar " & yourJARFile)
puisque yourJARFile est une variable contenant ton chemin
Essaye, mais il se peut que ton chmin contenant un espace, il te faille doubler les quotes du chemin


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
Maudya Messages postés 8 Date d'inscription mardi 7 juin 2011 Statut Membre Dernière intervention 8 juin 2011
7 juin 2011 à 13:23
Merci
Mais il n'y a plus, mais mon programme java ne s'exécute pas. Il n'y a aucune valeur en retour, mais il y a des nouveaux fichiers qui doivent se créer et ils ne se crées pas. Je suis sur sur mon programme java fonctionne car lorsque je clique dessus manuellement les fichiers se génèrent.
Et j'ai vérifier mon chemin est correct et il est lu correctement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Maudya Messages postés 8 Date d'inscription mardi 7 juin 2011 Statut Membre Dernière intervention 8 juin 2011
7 juin 2011 à 15:02
Mon message précédent n'est pas très français.
Je m'explique donc:
Il n'y a pas de message d'erreur, mais rien ne se produit lorsque le lance le programme.
Je suis sur que mon chemin et le bon et que mon .jar fonctionne.

Lorsque le .jar s'exécute je n'attends pas de valeurs de retour mais des nouveaux fichiers. Peut-être est-ce la le problème?

Merci
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
7 juin 2011 à 18:32
Lance-le directement en ligne de commande, pour en avoir le coeur net :
en ligne de commande, donc, frapper :

java.exe -jar "C:\Users\Act750\Desktop\Stage Maud\java\MarketingAnalysis-0.0.1-SNAPSHOT.jar"

si toujours pas de fichiers créés, n'incrimine alors pas Shell, mais ton .jar ou l'utilisation que tu en fais.


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
Maudya Messages postés 8 Date d'inscription mardi 7 juin 2011 Statut Membre Dernière intervention 8 juin 2011
8 juin 2011 à 09:28
Bonjour.
Je ne sais pas vraiment ce que c'est que de lancer une ligne de commande.
J'ai écris une nouvelle procédure, avec la ligne de code que tu m'as dit dedans, mais il me dit erreur de syntaxe.
Et pareil pour incriminer, je ne vois pas trop ce que tu veux dire.
Merci
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
8 juin 2011 à 10:18
Bon...
1) (ligne de commande)
Barre de tâches ====>>> clmick droit sur Démarrer ===>> Exécuter ===>> saisir ta commande ===>> click sur OK
2)Que veut dire incriminer


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
Maudya Messages postés 8 Date d'inscription mardi 7 juin 2011 Statut Membre Dernière intervention 8 juin 2011
8 juin 2011 à 11:16
1) J'ai réussi à lancer ma ligne de commande, et il n'y a effectivement aucun fichier qui sort.

2) Lorsque je clique manuellement sur mon .jar il fonctionne. Donc je trouve cela bizarre.

Merci quand même.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
8 juin 2011 à 11:36
difficile de te dire pourquoi.
analyse le code de ton .jar ! n'attendrait-il pas un argument ?

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
8 juin 2011 à 11:55
regarde par ailleurs dans ta base de registre ce que contient la clé :
HKEY_CLASSES_ROOT\jarfile\shell\open\command
A tout hasard

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
Maudya Messages postés 8 Date d'inscription mardi 7 juin 2011 Statut Membre Dernière intervention 8 juin 2011
8 juin 2011 à 12:06
Merci
J'ai essayé de passer par un .bat et ca ne fonctionne pas non plus.
Je suis allée voir ce que contient la clé. et le problème n'est pas là.
0
Maudya Messages postés 8 Date d'inscription mardi 7 juin 2011 Statut Membre Dernière intervention 8 juin 2011
8 juin 2011 à 13:42
Merci pour ton aide.
J'ai trouvé le problème: l'environnement Windows. J'ai essayé sur un version de Windows différente de la mienne et ca fonctionne
0
cs_didi2204 Messages postés 11 Date d'inscription mercredi 15 septembre 2010 Statut Membre Dernière intervention 8 juin 2011
8 juin 2011 à 13:47
Et quel est la version Windows différente de la tienne?
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
8 juin 2011 à 13:59
Et quel est la version Windows différente de la tienne?

probablement antérieure à Vista.
Si >Vista>> lancer en tant qu'administrateur.

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
azertym Messages postés 47 Date d'inscription vendredi 8 août 2003 Statut Membre Dernière intervention 7 décembre 2014
6 févr. 2012 à 16:24
Bonjour à tous,
je me permets de remonter ce post, je souhaite également ouvrir une application .jar via excel.
J'ai donc écrit ce petit code :
Sub JDE()

Dim Launch As Integer

TN5250J = "C:\Program Files\JDE\tn5250j.jar" 'Chemin de TN5250J/JDE
Launch = Shell("java.exe -jar" & TN5250J, vbNormalFocus)

End Sub


Le problème c'est qu'il ne se lance pas via la macro, mais en le lançant en cmd par :
java.exe -jar "c:\program files\JDE\tn5250j.jar"

tout va bien.

Je suis sous windows 7 pro 64bits.
Quelqu'un a t'il une solution ?

Merci
0
azertym Messages postés 47 Date d'inscription vendredi 8 août 2003 Statut Membre Dernière intervention 7 décembre 2014
6 févr. 2012 à 16:34
Excusez moi pour le double post (je ne trouve pas le bouton d'édition du forum).
Je tiens à rajouter une petite info supplémentaire, quand j'exécute la macro, la fenêtre de cmd s'ouvre et se ferme aussitôt. Un problème de tempo ?
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
6 févr. 2012 à 16:38
Manque un espace !
car sinon ===>>>
"java.exe -jar" & TN5250J ===>> "java.exe -jarC:\Program Files\JDE\tn5250j.jar"

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
azertym Messages postés 47 Date d'inscription vendredi 8 août 2003 Statut Membre Dernière intervention 7 décembre 2014
7 févr. 2012 à 10:22
Je te remercie pour ta réponse ucfoutu, mais en fait il ne s'agit pas d'un problème d'espace mais d'un problème avec Java, je suis sous win 64 or il me lance java 32 bit.
Ce qui est bizarre c'est qu'en commande ou en double cliquant dessus tout fonctionne mais pas en passant par vb.

Si quelqu'un a une idée la dessus, je lui serai très reconnaissant.

Merci d'avance !
0
@azertym :

Bonjour est-ce que vous avez défini la variable d'environnement système JAVA_HOME (jdk de Java) et ajouter le Path de bin du JAVA_HOME.

J'ai eu le même problème et l'ajout de cette variable d'environnement système m'a résolu le problème.
0
Rejoignez-nous