Quelques Questions VBA (Catia) [Résolu]

Signaler
-
 Saelenia -
Bonjour,

Désolée si une réponse à déjà été donnée quelque part, j'ai quelque peu cherché mais en vain ...

bon, voici mes Problèmes / Questions.

Premièrement, je travaille sur CATIA et emploie donc l'éditeur VBA (alt + F11).

Lorsque je lance ma macro avec l'éditeur ouvert, tout se passe bien.
Si je lance ma macro à partir de CATIA, la fenêtre se grise et le pc s'éteint ...
Première question donc :
"Est ce que la macro VBA doit être mise entièrement en mémoire avant d'être exécutée ?"

Seconde Question,
J'emploie les SendKeys et les command. J'aimerais que la SendKeys parte une fraction de seconde après que la command soit terminée ... Seulement, je n'arrive pas à gérer la notion de "terminée" ... J'ai trouver beaucoup de questions à ce sujet mais je n'ai pas compris les réponses ...

Troisième question,
J'aimerais que ma macro travaille en tâche de fond (jusque là tout va bien).
Seulement, j'ai besoin que ma fenêtre CATIA soit active (Catia.activewindow. ... ) pour appliquer dessus la notion de command.
Y aurait-il moyen de faire "Comme si la fenêtre était active sans qu'elle le soit pour permettre à l'utilisateur de continuer à jouer avec sa station" ?
Et si oui, comment faire en sorte que les SendKeys soient virtuelles également et uniquement appliquées à CATIA ?

J'espère avoir été claire ... et vous remercie d'avance pour vos réponses !

3 réponses

Messages postés
493
Date d'inscription
jeudi 7 juillet 2005
Statut
Membre
Dernière intervention
24 mai 2017
2
Tu t'es trompé de forum, ici on parle de PHP

stéph
Pas très claire la question 2 ...

Je veux dire :
Je lance une commande.
Je fais un "sendkeys" après 1 seconde d'attente

Seulement, parfois le Enter n'est pas la bonne touche ! (Parfois le "OK" est en grisé et il faut envoyer "ESC" à la place)

Problème, si j'envoie ESC alors que l'opération est en cours, cela l'annule !
Si je fais attendre 10 secondes, mon programme va durer une éternité ...

Ce que j'aimerais c'est :

- Envoi de la commande
- Le plus tôt possible (arbitrairement de l'ordre de la seconde) envoyer ENTER
- SI rien ne se passe, envoyer ESCAPE (si quelque chose se passe, ne pas envoyer ESCAPE)

Merci pour votre aide ...