Esta página está traducida del inglés para tu comodidad. El original en inglés es la versión más precisa y, si ambas difieren, es la que prevalece.

Cómo leer texto de la pantalla en una macro

OCR de pantalla dentro de una macro de Windows: lee un número, un estado o un nombre de cualquier ventana y luego decide qué hacer con él.

Actualizado el 18 de septiembre de 2026 · La lectura de texto de la pantalla forma parte del plan Pro de Myna Recorder; cada cuenta nueva la prueba gratis durante 7 días.

1. Qué hace read_text

La mayoría de las herramientas de macros saben hacer clic y escribir, pero no saben qué dice la pantalla. read_text lee un rectángulo de la pantalla en una variable y, a partir de ahí, el valor se puede escribir en otro sitio, comparar o usar en un mensaje:

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

2. Elige una región

Indica siempre region=(x, y, width, height). Al leer el escritorio entero, la imagen se reduce hasta que el texto normal de la interfaz resulta ilegible. Una región del tamaño del campo que te interesa es rápida y precisa. single_line=True junta en una sola línea lo que se haya leído, que es lo que quieres para un número o un nombre. Cada número de la región puede ser una variable o una suma, así que una región puede seguir la posición de una coincidencia encontrada con wait_for.

3. Tres lectores

engine=Qué esGasta créditosViaja en un programa exportado
"builtin"El predeterminado. Se ejecuta en tu equipo.NoSí
"tesseract"Un segundo lector local. Lee algunas pantallas mejor y otras peor que el integrado, y admite page_mode= para controlar cómo se divide la imagen en líneas. Pruébalo cuando una lectura se acerca pero no acierta.NoSí
"ai"Un modelo de transcripción en nuestro servidor, para el texto que los dos lectores locales leen mal.SíNo

El motor se elige en cada paso, así que una misma macro puede usar el lector gratuito en todas partes y el lector de IA en el único campo que importa.

4. Limpia y usa el resultado

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

Los métodos limpian lo que se ha leído; .to_number() es el que más usarás. Una región en blanco guarda un texto vacío y la ejecución continúa, así que prueba la condición que escribas tanto con un valor como con una región en blanco. El panel Variables muestra cada variable en directo durante una ejecución, y es la forma más rápida de ver qué ha devuelto de verdad el lector.

5. Cuándo es mejor preguntar a la IA

read_text transcribe. Para razonar sobre la pantalla, usa ask_ai: «¿cuántas filas están en rojo?», «¿hay un diálogo de error?». Tiene tres roles: "count" devuelve un número y dónde está cada cosa, para que la macro pueda hacer clic en ella; "explain" devuelve una frase para un registro o una notificación; "read" transcribe con el modelo que hayas elegido. Dale una región pequeña por la misma razón: un modelo puede contar cosas en todo el escritorio y luego no saber localizarlas. Cada llamada gasta créditos, y una ejecución tiene un límite de 60 llamadas a la IA. Los detalles están en el manual.

6. Vigila un texto mientras se ejecuta una macro

Un paso lee una vez, allí donde lo pongas. Una fila de vigilancia configurada en «Preguntar a la IA» mira durante toda la ejecución, o por su cuenta después de «Iniciar vigilancia», y avisa cuando la respuesta aparece o desaparece. Puede mostrar una ventana emergente, enviar un mensaje de Telegram o Discord con una captura de pantalla, o detener la macro. Así te enteras del aviso de «sesión caducada» a las 3 de la madrugada sin poner un paso para ello en cada bucle.

7. Costes, planes y exportación

  • La lectura de texto de la pantalla y ask_ai están incluidas en el plan Pro, que además trae 3.000 créditos al mes. Los dos lectores locales nunca gastan un crédito.
  • engine="ai", ask_ai y las filas de vigilancia con IA gastan créditos e impiden exportar como programa. Una macro que lee con el lector integrado o con Tesseract se exporta sin problema, con el lector dentro del archivo.
  • Los planes y los paquetes de créditos están en la página de precios.