Attente sur 2 pages possibles au lieu d’une

L’instruction UsePage dans un script WinTask attend que la page dont le titre est spécifié soit bien affichée avant de continuer. Si au bout de #ActionTimeout (valeur par défaut 30 pour 30 secondes), la page n’est pas trouvée, une erreur est affichée et le script s’arrête (si #IgnoreErrors est à 0, sa valeur par défaut – si #IgnoreErrors=1, le script continue malgré l’erreur). Il y a des cas où suivant l’action précédente faite par le script dans le site web, il faut attendre non pas qu’une certaine page soit affichée mais attendre qu’une...
read more

Macro pour supprimer tous les fichiers d’un répertoire, fichiers datant de plus de 60 jours

Avec WinTask il est possible d’écrire une macro qui supprime tous les fichiers par exemple avec une certaine extension, fichiers datant de plus de x jours. Voici comment créer une telle macro, dans cet exemple le but est de supprimer tous les fichiers PDF ayant plus de 60 jours, ces fichiers sont dans le répertoire c:\test. L’instruction DirTree liste tous les fichiers avec une certaine extension qui se trouve dans un répertoire et retourne leur chemin, leur nom court (8 caractères), leur nom long et leur attribut (lecture, lecture/écriture, …). La syntaxe est...
read more

Pause texte OCR sur une page Web est inutile

Sur une page Web chargée dans Internet Explorer, ce code WinTask permettant de détecter si un texte tel qu’analysé par le moteur OCR est présent ou pas ne se rejoue pas : ret = UseOCREngine(2)  Pause until TextOCR(« R ») InWindow(« IEXPLORE.EXE|Internet Explorer_Server|Page – Internet Explorer|1″,2) InArea(372,134,19,21) PauseFalse MsgBox(« ‘Wait for’ at line  » + #ErrorLine$ +  » has failed ! ») End EndPause ou plutôt la partie PauseFalse s’exécute. Depuis Internet Explorer 8,...
read more

UseWindow fait beaucoup mieux que Pause window

Lors de la revue d’un script d’un client, je vois qu’il utilise cette Sub : [CODE] Sub Dokument_schliessen() If ExistW(« ACRORD32.EXE|AcrobatSDIWindow| ») then ‘pause 200 ticks CloseWindow(« ACRORD32.EXE|AcrobatSDIWindow| ») EndIf Pause 2 secs until WinStatus(Exists) InWindow(« ACRORD32.EXE|#32770|Adobe Reader ») PauseTrue Usewindow(« ACRORD32.EXE|#32770|Adobe Reader ») Sendkeys(« N ») EndPause EndSub [/CODE] Je voudrais revenir dans cet article sur pourquoi une telle...
read more

Capture d’un tableau de données dont le nombre de lignes varie

Lorsqu’un automate est utilisé pour capturer les résultats d’une requête Web, résultats s’affichant sous la forme d’un tableau de données, le nombre de lignes à capturer varie suivant la requête. Par exemple, l’automate lance une première requête, capture une colonne de résultats de 10 lignes, écrit ces 10 résultats dans un fichier Excel, puis lance une deuxième requête, capture une colonne de résultats cette fois de 3 lignes, écrit les 3  résultat à la suite des 10 premiers résultats stockés dans Excel, etc… Le problème est donc de savoir à...
read more

Envoyer des touches clavier quelle que soit la fenêtre

Windows a besoin de savoir vers quelle fenêtre envoyer une touche pour l’envoyer à l’application désirée. WinTask reprend cette nécessité grâce à l’instruction UseWindow puis l’instruction SendKeys envoie les touches spécifiées à la fenêtre qui a été mise en premier-plan par UseWindow. Mais il est parfois nécessaire d’envoyer une touche pour une action valable quelle que soit la fenêtre. Dans l’exemple qui suit, le but est d’appuyer sur la touche Défilement 2 fois. Il n’y pas d’instruction WinTask le permettant mais comme...
read more

« Entrées précédentes