Bonjour à tous,
je cherche comment je lance une macro excel à partir de talend.
Merci pour vos réponses.
Bonjour à tous,
je cherche comment je lance une macro excel à partir de talend.
Merci pour vos réponses.
En effet j'ai déjà fait une rechercher à propos de ce sujet, en fait ce n'est pas possible directement avec les composants Talend, ce qu'il faut faire c'est utiliser du code externe et l'appeler style JAVA ou bien la ligne de commande directement.
Il y' a une méthode que j'avais trouvé mais je ne l'ai pas testé, c'est de créer un script VB qui lance la macro puis d'appeler le script VB avec la commande line à partir de JAVA, c'est pas compliqué mais c'est très long comme chemin.
Exemple :
Tu crées ton VBScript monScript.vbs comme ça :
Et tu le lances avec une fonction JAVA comme ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Dim objXL Set objXL = CreateObject("Excel.Application") With objXL .Workbooks.Open ("File_Path") .Application.Run "Macro_Name" .Application.Quit End With Set objXL = Nothing
A tester !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part <a href="http://runtime.getruntime.exec/" target="_blank">Runtime.getRuntime().exec("cmd /c start monScript.vbs");</a>
"Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant." Mohammed le Messager d’Allah (que la paix et le salut d'Allah soient sur lui)
Tutoriels Talend
Mes articles publiés
Mon CV en-ligne
Merci pour ta réponse,
en faite, je crée un fichier csv avec talend avec une entête et des données bien sur, le nom du fichier est automatique et qui prend la date du traitement, j'execute une macro sur ce fichier pour créer un fichier excel avec plusieurs feuilles.
Je dois préciser dans le Workbooks.Open("File_Path"), le chemin et le nom du fichier csv créé par talend,
et je met le nom de la macro dans la ligne suivante du code VB, c'est ça normalement n'est ce pas ?
Oui c'est exactement ça,
Pour le code JAVA il y' a une erreur voilà le bon :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Runtime.getRuntime().exec("cmd /c start monScript.vbs");
"Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant." Mohammed le Messager d’Allah (que la paix et le salut d'Allah soient sur lui)
Tutoriels Talend
Mes articles publiés
Mon CV en-ligne
une question simple, s'il te plait, je crée le script VB dans n'importe quel dossier et je mets le chemin dans la commande java ou bien je dois le créer dans le workspace de talend par défaut ?
Le script VB n'a aucun rapport avec ton projet Talend, tu le crées où tu veux du moment que tu spécifies le bon chemin dans la commande runtime.
"Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant." Mohammed le Messager d’Allah (que la paix et le salut d'Allah soient sur lui)
Tutoriels Talend
Mes articles publiés
Mon CV en-ligne
Partager