Comment executer du VBScript ou le cas echeant du CATScript depuis VBA? [Résolu]

dorianovitch 6 Messages postés lundi 26 novembre 2007Date d'inscription 10 janvier 2008 Dernière intervention - 2 janv. 2008 à 09:38 - Dernière réponse : dorianovitch 6 Messages postés lundi 26 novembre 2007Date d'inscription 10 janvier 2008 Dernière intervention
- 3 janv. 2008 à 07:52
Salut,

Je suis étudiant en 4ème année dans une école d'ingé en mécanique...
Dans le cadre de mon stage de 4 ème année, je travaille chez un grand equipementier automobile sur du developpement en VBA pour CATIA V5...

Jusqu'à présent, même parfait débutant, j'ai pu, à force de patience et de recherches trouver mon bonheur et parvenir à atteindre mes objectifs....

Seulement, maintenant, j'ai un petit soucis...

Je vous explique...

Je cherche à exécuter du VBScript ou même du CATScript depuis une macro VBA (VBA CATIA V5, mais c'est parfaitement identique à VBA Excel!), concrètement, mon application VBA en appelerait une autre en VBS ou CatS...
Je sais déjà comment "appeler" du VBA depuis du VBA et même du VBA depuis du VBS, mais maintenant, j'aimerais parvenir à la réciproque...

Mes recherches n'ont fait que m'amener à cette terrible conclusion, il n'est à priori pas possible d'appeler du VBS depuis du VBA...
Mais je ne peux m'y résoudre! Aussi je demande de l'aide!

Merci par avance.
Afficher la suite 

3 réponses

Répondre au sujet
dorianovitch 6 Messages postés lundi 26 novembre 2007Date d'inscription 10 janvier 2008 Dernière intervention - 3 janv. 2008 à 07:52
+3
Utile
Bonjour,

Pour ceux que cela interesse (ceux tombé sur cette page en recherchant des éléments sur CATIA V5!), voici ma petite contribution...

Comme le faisait très justement remarqué Us_30, il est possible de "lancer" du script depuis le VBA au moyen de l'instruction Shell, comme le montre l'exemple suivant:

Sub CATMain()
    Dim Shell As Object: Set Shell = CreateObject("WScript.Shell")
    Dim ID As Variant: ID = Shell.Run("H:\MacroDir1\Macro1.CATScript")
    End
End Sub

Je ne sais pas si cela vous sera d'une très grande aide, mais cela résoud tout du moins un partie de mes problèmes, car je n'aurais pas besoin de ré-éditer tous les scripts de la boîte depuis le *.CATScript pour du *.catvba!

Maintenant, je déplore l'absence d'une documentation carrée et exhaustive sur les possibilités Automation de CATIA V5! (Il existe bien un *.chm, mais on ne sait pas ce que signifie se prendre la tête tant qu'on ne l'a pas manipulé!!)

En tout cas, un grand merci à Us_30.
Bonne chance à tous ceux qui développe sur CATIA V5.

Amicalement.
Dorianovitch.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de dorianovitch
us_30 2117 Messages postés lundi 11 avril 2005Date d'inscription 14 mars 2016 Dernière intervention - 2 janv. 2008 à 21:39
0
Utile
Bonsoir,

Appeler du VBS à partir de VBA (ou autre) n'est pas possible si on prend ton vocabulaire à la lettre. JE veux dire en voulant récupérer un paramètre d'une fonction, par exemple et poursuivre avec VBA. PAR contre, on peut très bien lancer l'exécution d'un VBS, comme tout autre application. Pour cela, regarde du côté de l'instruction SHELL... UNE autre solution, c'est de récrire les fonctions de VBS dans VBA... dans la majorité des cas un copier/coller peut suffire...

Amicalement,
Us.
Commenter la réponse de us_30
dorianovitch 6 Messages postés lundi 26 novembre 2007Date d'inscription 10 janvier 2008 Dernière intervention - 3 janv. 2008 à 07:06
0
Utile
Bonjour,

Merci pour ta réponse, mes recherches m'ont effectivement donné des éléments autour de l'instruction Shell. Ceci dit, je n'arrive pas à faire fonctionner cette instruction.

Je m'aperçois maintenant que mon premier post n'était pas tout-à-fait complet, car je recherche justement à "lancer" du VBS (ou dans mon cas, plus du CATScript!) depuis du VBA pour justement ne pas avoir à ré-éditer des Scripts VBS en VBA! (Car malheureusement, un copier/coller ne suffit pas toujours! Et dans mon cas, sur CATIA V5, ça ne fonctionne pas du tout!)

Donc, pour l'instruction Shell, j'essaie des choses comme cela:

Sub monshell()
   Dim shell As Object: Set shell = CreateObject("Wscript.shell")
   shell.Run "c:\test.vbs"
End Sub

Mais ça ne fonctionne pas.

Quelqu'un aurait-il des éléments plus précis sur l'instruction Shell?

Merci par avance.

Amicalement.

Dorianovitch.
Commenter la réponse de dorianovitch

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.