code vba dans vb6

code vba dans vb6 - VB/VBA/VBS - Programmation

Marsh Posté le 21-08-2005 à 14:46:34    

bonjour,
 
j'utilise vb6
 
Je voudrais exécuter du code vba se trouvant dans une chaine de  
caractère (un peu l'équivalent de eval en php)
 
on entre le code vba dans une text box, ce code est ensuite  
interprété par un interpréteur vba.
 
je précise qu'il me faut du vba en non du vbscript car en
vbscript je n'ai pas les fonctionnalités qu'il me faut.
éventuellement du vb6 conviendrait mais la fonction
qui exécute des chaines de vb6, la fonction EbExecute ne marche
pas en mode compilé et il n'y a rien à faire c'est impossible.
 
j'ai une piste.
Je pensait utiliser un controle ole car il contient un  
interpréteur vba.
On mettrait une textbox et un controle ole avec le focus désactivé
dans le form.
On entrerait le code vba dans la textbox de l'exécutable .exe au  
de l'exécution du programme.
Puis le code vba serait transmis dans une cellule excel du controle  
ole puis le résultat de l'exécution serait renvoyé sur le form
dans une mgsbox.
Est-ce possible?
 
merci de votre aide
 
 
 
 
 

Reply

Marsh Posté le 21-08-2005 à 14:46:34   

Reply

Marsh Posté le 21-08-2005 à 17:47:16    

knakes -> T'as pas une idée pour phillag?
 
Il veut exécuter du code qui serait tapé dans une textbox.
 
VBS ne peut servir car il a besoin d'utiliser les étiquettes (labels) dans le code.
 
J'ai trouvé une solution en .NET mais phillag est sous VB6.


---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
Reply

Marsh Posté le 22-08-2005 à 18:03:44    

Possible mais la gestion des erreurs sera importante. Si une erreur est aperçue via le OLE, je ne veux pas voir le résultat...
Ca risque d'être chaud, très chaud.
Commence et envoie un bout de prog, si on peut t'aider.


Message édité par knakes le 22-08-2005 à 18:04:10

---------------
now : do nothing
Reply

Sujets relatifs:

Leave a Replay

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