Cette page est traduite de l'anglais pour votre commodité. L'original anglais est la version la plus exacte et, en cas de divergence, c'est lui qui fait foi.

Comment lire le texte à l'écran dans une macro

L'OCR de l'écran dans une macro Windows : lisez un nombre, un statut ou un nom dans n'importe quelle fenêtre, puis décidez quoi en faire.

Mis à jour le 18 septembre 2026 · La lecture du texte à l'écran fait partie du forfait Pro de Myna Recorder ; chaque nouveau compte peut l'essayer gratuitement pendant 7 jours.

1. Ce que fait read_text

La plupart des outils de macro savent cliquer et taper, mais pas dire ce qu'affiche l'écran. read_text lit un rectangle de l'écran dans une variable ; à partir de là, la valeur peut être tapée ailleurs, comparée ou utilisée dans un message :

total = read_text(region=(820, 400, 180, 40), single_line=True)
message_box("The order total was ${total}")

2. Choisir une zone

Passez toujours region=(x, y, width, height). Lire le bureau entier le réduit jusqu'à rendre illisible le texte ordinaire de l'interface. Une zone de la taille du champ qui vous intéresse est rapide et précise. single_line=True réunit ce qui est lu en une seule ligne, ce qu'il vous faut pour un nombre ou un nom. Chaque nombre de la zone peut être une variable ou une somme, si bien qu'une zone peut suivre une correspondance trouvée avec wait_for.

3. Trois lecteurs

engine=Ce que c'estConsomme des créditsInclus dans un programme exporté
"builtin"Le lecteur par défaut. S'exécute sur votre ordinateur.NonOui
"tesseract"Un second lecteur local. Il lit certains écrans mieux que le lecteur intégré et d'autres moins bien, et accepte page_mode= pour régler la façon dont l'image est découpée en lignes. Essayez-le quand une lecture est presque juste, mais fausse.NonOui
"ai"Un modèle de transcription sur notre serveur, pour le texte que les deux lecteurs locaux lisent mal.OuiNon

Le moteur se choisit à chaque étape : une même macro peut utiliser le lecteur gratuit partout et le lecteur IA sur le seul champ qui compte.

4. Nettoyer et utiliser le résultat

total = read_text(region=(820, 400, 180, 40)).to_number()
if total < 1000:
    notify("Total looks low: ${total}")

Des méthodes nettoient ce qui a été lu ; .to_number() est celle que vous utiliserez le plus. Une zone vide stocke une chaîne vide et l'exécution continue : testez donc la condition que vous écrivez avec une zone vide autant qu'avec une valeur. Le panneau Variables affiche chaque variable en direct pendant une exécution, et c'est le moyen le plus rapide de voir ce que le lecteur a réellement renvoyé.

5. Quand interroger plutôt l'IA

read_text transcrit. Pour raisonner sur l'écran, utilisez ask_ai : « combien de lignes sont en rouge ? », « y a-t-il une boîte de dialogue d'erreur ? ». Trois rôles : "count" renvoie un nombre et l'emplacement de chaque élément, pour que la macro puisse cliquer dessus ; "explain" renvoie une phrase pour un journal ou une notification ; "read" transcrit avec le modèle que vous avez choisi. Donnez-lui une petite zone pour la même raison : un modèle peut compter des choses sur tout un bureau sans pouvoir ensuite les localiser. Chaque appel consomme des crédits, et une exécution est limitée à 60 appels à l'IA. Les détails sont dans le manuel.

6. Guetter un texte pendant qu'une macro s'exécute

Une étape lit une fois, là où vous la placez. Une ligne de surveillance réglée sur « Demander à l'IA » regarde pendant toute l'exécution, ou toute seule après « Démarrer la surveillance », et se déclenche quand la réponse apparaît ou disparaît. Elle peut afficher une fenêtre, envoyer un message Telegram ou Discord avec une capture d'écran, ou arrêter la macro. C'est ainsi que vous êtes averti du bandeau « session expirée » à 3 h du matin sans lui consacrer une étape dans chaque boucle.

7. Coûts, forfaits et export

  • La lecture du texte à l'écran et ask_ai sont inclus dans le forfait Pro, qui comprend aussi 3 000 crédits par mois. Les deux lecteurs locaux ne consomment jamais de crédit.
  • engine="ai", ask_ai et les lignes de surveillance IA consomment des crédits et bloquent l'export en programme. Une macro qui lit avec le lecteur intégré ou avec Tesseract s'exporte sans problème, avec le lecteur dans le fichier.
  • Les forfaits et les packs de crédits sont sur la page des tarifs.