Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/07/2011, 15h33   #1
Membre actif
 
Homme David
Inscription : septembre 2007
Messages : 353
Détails du profil
Informations personnelles :
Nom : Homme David
Localisation : France

Informations professionnelles :
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : septembre 2007
Messages : 353
Points : 195
Points : 195
Par défaut Pilotage appli avec Sendkeys

Bonjour,

Je cherche à "piloter" une appli (qui tourne sous Oracle) avec des sendkeys mais je n'y arrive pas

Code :
1
2
3
4
5
6
7
 
Dim appli As String
Dim fichier As String
fichier = "C:\monappli.bat"
appli = Shell(fichier, 1)
MsgBox appli
SendKeys "a"
D'après une discussion très récente vue sur le forum, la variable appli me récupère le PID, mais comment faire en suite pour envoyer des caractères?
la ligne sendkeys "a" ne donnant rien

merci d'avance
damalaan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 16h28   #2
Rédacteur/Modérateur

 
Avatar de argyronet
 
Homme Jean-Philippe AMBROSINO
Panseur de bobos en solutions ETL
Inscription : mai 2004
Messages : 3 650
Détails du profil
Informations personnelles :
Nom : Homme Jean-Philippe AMBROSINO
Localisation : France

Informations professionnelles :
Activité : Panseur de bobos en solutions ETL
Secteur : Finance

Informations forums :
Inscription : mai 2004
Messages : 3 650
Points : 6 209
Points : 6 209
Envoyer un message via MSN à argyronet
Bonjour,

Si ton "appli" est un batch, tu ne pourras que difficilement le piloter avec un SendKeys.
  • Dis-nous ce que tu veux faire exactement pour que l'on puisse t'aider.
  • Quelle est cette appli en question ?
  • Qu'est censé faire l'appuie sur la touche "a" ?
Argy
__________________
Ils comptent sur vous...

Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

Web Site@Mail
Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007
Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010
MDB Viewer : Visionneuse Access v4.0
argyronet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 16h34   #3
Membre actif
 
Homme David
Inscription : septembre 2007
Messages : 353
Détails du profil
Informations personnelles :
Nom : Homme David
Localisation : France

Informations professionnelles :
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : septembre 2007
Messages : 353
Points : 195
Points : 195
l'appli est lancée par un batch, ce n'est pas un batch elle même

ce que je veux faire :
saisir le login et le mot de passe puis naviguer dans les menus pour récupérer des données.
le sendkeys "a" est censé afficher "a" dans la case login

il s'agit d'une appli développée à façon sous Oracle
damalaan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 16h51   #4
Rédacteur/Modérateur

 
Avatar de argyronet
 
Homme Jean-Philippe AMBROSINO
Panseur de bobos en solutions ETL
Inscription : mai 2004
Messages : 3 650
Détails du profil
Informations personnelles :
Nom : Homme Jean-Philippe AMBROSINO
Localisation : France

Informations professionnelles :
Activité : Panseur de bobos en solutions ETL
Secteur : Finance

Informations forums :
Inscription : mai 2004
Messages : 3 650
Points : 6 209
Points : 6 209
Envoyer un message via MSN à argyronet
Donc, ton bat ouvre une fenêtre...
C'est cette fenêtre qu'il faut piloter (à ce que comprends, c'est une fenêtre de login).
Si c'est la cas, le PID de Shell ne te donneras rien puisque c'est celui du batch.
Ce qu'il faut, c'est comparer le nom de la fenêtre en utilisant un GetWindowText en parcourant l'ensemble des processus dans une boucle jusqu'à ce que tu tombes sur le bon titre. Le but est de récupérer le Handle de la fenêtre pour lui donner le focus (SetFocus) et l'amener au premier plan (BringWindowToTop). Là, tu pourras peut-être agir sur la dite fenêtre.
Pour ce faire, recherche dans les sources, il y a de nombreux exemples.

Mais sinon, plus simple, que contient to batch ?
Est-ce un EXE que tu lances ?
Si oui, là, le Shell peut récupérer le PID et de ce PID on peut obtenir le Hwnd.

Argy
__________________
Ils comptent sur vous...

Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

Web Site@Mail
Livres : VBA pour OFFICE 2007 et MICROSOFT ACCESS 2007
Nouveau Tutoriel : Déployer vos applications avec Microsoft Access 2010
MDB Viewer : Visionneuse Access v4.0
argyronet est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h44.


 
 
 
 
Partenaires

Hébergement Web