Utilisation d'un programme perl sous VBA

Utilisation d'un programme perl sous VBA - VB/VBA/VBS - Programmation

Marsh Posté le 15-10-2008 à 09:01:42    

Bonjour,
 
J'essaye actuellement de faire une macro qui me permette de lire de gros fichiers texte et de n'en recuperer qu'une partie que j'importe sous Excel.
 
J'ai une macro complete sous VBA qui fonctionne masi la lecture du fichier est beaucoup beaucoup trop longue! :cry:  
 
Du coup, j'ai recupere un petit programme perl qui me permet de lire mon fichier et d'en extraire les donnees qui m'interessent.
 
Par contre, plutot que de lancer mon programme perl puis ma macro, je voudrais lancer la macro et que celle-ci fasse appel au programme perl.
 
En cherchant un peu sur le net, j'ai trouve la commande shell. Le probleme c'est que je n'ai pas l'impression de pouvoir lui definir directement les variables (adresse du fichier a lire) dont perl a besoin et que je dois repasser par une petite interface graphique perl (euh... je suis assez clair la??? :??: ).
 
Quelqu'un peut-il m'aider svp?
 
Merci!!! :jap:

Reply

Marsh Posté le 15-10-2008 à 09:01:42   

Reply

Marsh Posté le 15-10-2008 à 10:54:57    

Si tu arrives à lancer ton programme Perl en ligne de commande DOS (cmd), alors il te suffit de passer ta ligne de commande en paramètre à Shell.

Reply

Marsh Posté le 15-10-2008 à 10:55:41    

Ok, je vais tester...
 
EDIT : Euh quelqu'un peut me dire comment on lance un programme perl en ligne de commande quand on veut affecter directement des proprietes a une variable (ici $fichierText1), svp?
 
J'ai cherche sur le net mais j'ai rien trouve!
 
Merci d'avance!


Message édité par malaka le 15-10-2008 à 13:51:58
Reply

Marsh Posté le 21-10-2008 à 23:41:48    

Personne ne sait alors? Bah je suis pas dans la merde alors moi... :(

Reply

Marsh Posté le 30-10-2008 à 15:50:06    

J'ai (enfin) trouve comment lancer mon programme perl depuis ma macro. Tout du moins la ligne de commande DOS qui me le permet!
 
Seul petit probleme : comment je choisis le repertoire de lancement? Est-ce qu'il faut faire une succession de commandes shell ou je fais mes cd puis le lancement perl ou bien est-ce plus complexe?
 
Autre chose. Quand on lance la commande shell, la ligne de commande dos peut-elle contenir des variables de mon programme (par exemple le nom du ficier perl, l'adresse, ...)?
 
Merci

Reply

Marsh Posté le 01-11-2008 à 23:50:27    

bonjour,
 
ça dépend vraiment de ton script perl, mais surtout rien ne t'empêche de le modifier pour faire en sorte que les variables viennent des parametres de la ligne de commande (modules Getopts::Long, etc...)
 
sinon, je suis surpris pour le pb de perf du VBA, car à moins de faire vraiment des trucs compliqués, je pense qu'on doit obtenir des perfs acceptable pour la lecture de fichiers...
 
Tu peux nous en dire plus sur comment tu faisais pour gérer la lecture du fichier en VBA?


Message édité par dreameddeath le 02-11-2008 à 00:11:27
Reply

Marsh Posté le 05-11-2008 à 10:54:40    

Tout est dans le sujet a lire indique en haut!
 
Mais bon, maintenant, tout fonctionne bien! Donc je suis enfin debarrasse (sauf bugs a venir avec l'utilisation et les evolutions!)...
 
En feit, j'ai cree un fichier bat avec mes lignes de commande et je le supprime en sortie de programme!Hop ni vu ni connu!!!


Message édité par malaka le 05-11-2008 à 10:55:37
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed