J'utilise une macro pour piloter une page web ayant une grille à 10 chiffres pour valider un mot de passe.
1 je lance en vba la page web
2 je fais une capture d'ecran comportant la grille avec
keybd_event VK_MENU, 0, 0, 0
keybd_event VK_SNAPSHOT, 0, 0, 0
keybd_event VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0
keybd_event VK_MENU, 0, KEYEVENTF_KEYUP, 0
3 J'ouvre l'appli paint pour enregistrer en image la capture d'écran : les sendkeys fonctionnent correctement et :
Dim hwnd As Long
hwnd = FindWindow(vbNullString, "Capture.jpg - Paint") etc...
4 je lance l'appli de finereader ABBYY Hot folder (dans lequel j'ai défini au préalable une zone de la grille à 10 chiffres) à Reconnaissance de caractère (OCR)
MyAppID = Shell("C:\Program Files (x86)\ABBYY FineReader 10\HotFolder.exe", vbNormalFocus).mon appli se lance bien...
AppActivate "ABBYY Hot Folder" ne semble pas fonctionner...un SendKeys "~", True...etc... rien ne se passe sur l'appli!
J'aimerais utiliser le clic souris sur cette fenêtre application...mais comment faire?
Par contre pour fermer l'appli j'utilise ce code qui fonctionne bien:
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & StrComputer & "\root\cimv2")
et non cette ligne suivante sous 64bits windows 7
'Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\" & StrComputer & "rootcimv2")
Set colProcessList = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'HotFolder.exe'")
For Each objProcess In colProcessList
objProcess.Terminate
Next
5 j'enregistre le résultat sous classeur excel
6 J'utilise la grille pour valider le mot de passe et l'IDentifiant pour entrer enfin dans mon back office
Le problème est au niveau 4 lorsque je lance l'appli...je n'arrive pas à avoir le focus (en utilisant un sendkeys ou clic de souris sur cette fenêtre appli active) et ainsi lancer le traitement
Je suis sur Excel 2010 sous windows seven 64bits
Merci pour votre aide