Actions sur une application déjà ouverte à partir de VBA

MadLadif Messages postés 3 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 2 octobre 2007 - 2 oct. 2007 à 07:52
MadLadif Messages postés 3 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 2 octobre 2007 - 2 oct. 2007 à 12:20
Bonjour,


Alors voilà mon problème : à partir d'une macro Excel, j'aimerai
interagir avec un logiciel déjà ouvert et réaliser une série de
commande en boucle.

Mais je ne sais pas comment faire pour me "placer" sur le programme ouvert pour y faire ma boucle d'actions.


Je donne un exemple pour être plus clair :

1. J'ouvre Word

2. J'ouvre mon fichier avec Excel

3. Je lance mon programme sous Excel

4. Le programme me sélectionne ma fenêtre Word

5. Le programme répète 20 fois la commande où il écrit "truc" et passe à la ligne suivante.

(bon, c'est un exemple ^^)


Ma question est donc : existe t'il un moyen de réaliser l'opération 4. sous VBA ? Si oui, comment ?


Merci d'avance

La fierté a rarement un juste milieu ; on en a soit trop, soit pas assez.

4 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
2 oct. 2007 à 08:04
Salut,
Et pourquoi ne pas faire les point 1, 4 et 5 directement depuis EXCEL. En ajoutant la référence Microsoft Word 9.0 Object Library  (9.0 ou equivalant) tu pourras alors piloter WORD en utilisant des variables de Type Word.Application , Word.Document, Word.Selection

@+: Ju£i?n
Pensez: Réponse acceptée
MadLadif Messages postés 3 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 2 octobre 2007
2 oct. 2007 à 10:11
Ceci n'est qu'un exemple.

J'aimerai agir sur d'autres programmes que word . Ce serait long d'expliquer donc j'ai pris un exemple simple.

Autre exemple alors : on remplace Word par Winamp et les actions à faire sont Alt+3 puis Enter.

Ce n'est encore qu'un exemple, ce qui m'intéresse, c'est de savoir s'il
est possible d'agir sur un programme déjà ouvert pour pouvoir y
appliquer des SendKeys.

La fierté a rarement un juste milieu ; on en a soit trop, soit pas assez.
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
2 oct. 2007 à 10:57
Salut,

Tu peux peu etre essayer avec une combinaison de AppActivate et de SendKeys
peu être que cela règlera ton problème.

@+: Ju£i?n
Pensez: Réponse acceptée
MadLadif Messages postés 3 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 2 octobre 2007
2 oct. 2007 à 12:20
Salut,


AppActivate marche bien et m'active bien la fenêtre souhaitée, mais les sendkeys ne marchent pas toutes sur la fenêtre.


Pour mon exemple de winamp :


AppActivate "Winamp 5.32", True

SendKeys "s", True

SendKeys "%3", True

SendKeys "%G", True

End


1. Active la fenête Winamp - OK

2. Touche "s" - OK

3. Alt+3 ne marche pas

4. Alt+G ne marche pas


Serait-ce moi qui utilise mal les SendKeys ou il y'a une limite dans
les actions possibles ? (Je pense que c'est plutôt la 1ere solution ^^)


Cdt

La fierté a rarement un juste milieu ; on en a soit trop, soit pas assez.
Rejoignez-nous