Saltar al contenido principal

Problemas que informa el editor de Pasos

El editor de Pasos revisa sus pasos mientras los edita. Sus mensajes aparecen en cuatro lugares: debajo de un campo, como un chip en la fila de un paso, como No se guardaron los pasos: debajo de la lista, y en lugar de la lista cuando los pasos no se pueden mostrar como filas.

Debajo de un campo​

Un campo con un problema recibe un borde rojo y el mensaje debajo, mientras escribe. Mientras un campo contiene texto escrito que no pasa su comprobación, los pasos no se guardan: No se guardaron los pasos: el paso N tiene un campo que no es válido aparece debajo de la lista, y la acción conserva sus últimos pasos guardados hasta que corrija el campo (No se guardaron los pasos).

Un campo vacío no muestra ningún mensaje y no impide guardar; los pasos se guardan con el campo vacío. Cuando la acción se ejecuta, un paso con un campo de número, de verdadero o falso o de ventana vacío detiene la acción ahí, y la salida Sistema de la consola indica que ese argumento tiene el tipo equivocado. Un campo Texto vacío se ejecuta como texto vacío, lo que para algunas funciones integradas (un nombre de archivo, un título de ventana que buscar) significa que el paso no hace nada.

MensajeCausaSolución
Este valor es obligatorio.El nombre de la variable de un paso Asignar variable está vacío.Escriba un nombre.
Escriba un número entero (decimal o hexadecimal 0x), una constante con nombre o una $variable.Un campo de número entero, o un recuento de Veces, contiene otra cosa, como 2.5 o diez.Escriba dígitos, con un signo menos opcional, 0x y un número hexadecimal, o una constante con nombre como VirtualKey.F5 (Parámetros de los pasos).
No existe ninguna constante con nombre con este nombre. Revise la ortografía y las mayúsculas, como en VirtualKey.MediaPlayPause.Un campo de número entero o de número, o un recuento de Veces, contiene un nombre con un punto, como VirtualKey.Mediaplaypause, que no es una constante con nombre.Corrija el nombre. Las mayúsculas cuentan. Los nombres aparecen en Constantes con nombre.
Escriba un número, o una $variable.Un campo de número contiene algo que no es un número.Use un punto como separador decimal, sin separador de miles: 1234.5.
Escriba true o false, o una $variable.Un valor Verdadero o falso de un paso Asignar variable contiene otra cosa.Escriba true o false.
Un paso no puede ejecutar una función integrada dentro de un argumento. Muévala primero a una variable.El campo contiene una llamada a una función integrada con algo entre sus paréntesis, como WindowGetTitle($w).Haga clic en Mover a una variable debajo del campo (Parámetros de los pasos). Si ese vínculo no se ofrece, agregue usted mismo un paso para la llamada, guarde su resultado y use la variable.
Use letras, dígitos y _, sin empezar con un dígito.Un nombre de variable, en Guardar resultado como o Variable, tiene otro carácter o empieza con un dígito.Cámbiele el nombre (Variables).
Este nombre está reservado. Elija otro.El nombre de la variable es if, else, for, true o false.Elija otro nombre.
Elija la función integrada cuyo resultado se comprueba.Una condición en El resultado de una función integrada todavía no tiene función integrada.Haga clic en Elegir una función integrada… y elija una.
"…" no se puede usar en una combinación de teclas.El cuadro Teclas recibió una tecla que una combinación de teclas no puede nombrar, como una tecla multimedia.Use otra tecla, o el paso Presionar y soltar tecla (KeyboardPressKey) (Teclas multimedia).

Mover a una variable no se ofrece cuando la llamada no se puede leer (por ejemplo, cuando contiene operadores como +), ni en la condición de un Repetir mientras o un Repetir hasta que.

Una nota no es un problema: Esto se guarda como texto, no se ejecuta. Para conservar el resultado de una función integrada, use Guardar resultado como en el paso de esa función. debajo de un valor de Asignar variable de tipo Texto que es una llamada a una función integrada con algo entre sus paréntesis, como WindowGetTitle($w). El valor se guarda como esos caracteres. Una llamada con paréntesis vacíos, como ClipboardGetText(), no recibe ninguna nota: es una lectura del menú de valores (Variables).

En la fila de un paso​

ChipCausaSolución
No está dentro de una repeticiónUn paso Salir del bucle está fuera de todas las repeticiones, normalmente después de moverlo. La acción no se puede ejecutar mientras esté ahí.Vuelva a ponerlo dentro de una repetición, o quítelo (Repetir pasos).

No se guardaron los pasos​

No se guardaron los pasos: seguido de un motivo significa que el editor no pudo volver a escribir sus filas en la acción. Hasta que lo corrija, la acción conserva sus últimos pasos guardados, y el resto de sus ediciones espera.

MotivoCausaSolución
una condición no tiene ninguna función integrada elegidaUn Si o un Repetir mientras/hasta que está en El resultado de una función integrada sin función integrada.Elija la función integrada, o cambie Comprobar a otro tipo.
el value de una condición es una llamada (…); primero hay que asignarla a una variableEl Valor de una condición, o uno de los lados de una comparación, contiene una llamada a una función integrada con argumentos.Agregue encima un paso que ejecute la llamada con Guardar resultado como, y use la variable en la condición.
el argumento N de Builtin es una llamada (…); primero hay que asignarla a una variableUn campo de un paso contiene una llamada a una función integrada con argumentos. N cuenta los campos del paso desde 1.Mover a una variable (Parámetros de los pasos).
el paso N tiene un campo que no es válidoUn campo del paso N contiene texto escrito que no pasa su comprobación (Debajo de un campo): abc en un campo de número entero o de número, un nombre que no es una constante con nombre, un campo de verdadero o falso con otro texto, un recuento de Veces que no es válido, o un nombre de variable que no está permitido. Un campo vacío nunca lo causa. N cuenta los pasos desde 1.Corrija el campo bajo el que aparece el mensaje.

Cuando los pasos no se pueden mostrar como lista​

A veces los pasos existen como texto que la lista de pasos no puede mostrar: se editaron en la vista de código, se importaron o se escribieron a mano en el archivo de configuración. La lista se reemplaza entonces por:

Estos pasos usan control de flujo que no se puede mostrar como lista (motivo). Se pueden editar como código en el modo Avanzado.

Esto ocurre en todos los editores de Pasos: el de una acción, el de un snippet, el del Entorno de prueba, el de las acciones antes y después de un grupo de aplicaciones y el de un evento global.

Los pasos se siguen ejecutando tal como están; el editor solo no puede mostrarlos como filas. En el modo Avanzado, la vista de código muestra el texto, y es la única forma de editarlo (La vista de código). En cuanto el texto vuelve a tener forma de lista, las filas regresan. La forma de texto se describe en El motor Pasos.

El motivo es uno de los siguientes. Las palabras en cursiva representan la parte de su texto que cita el motivo.

El texto en su conjunto​

MotivoQué corregir en el texto
los pasos no son TOML válido: mensajeEl texto no es TOML válido. El mensaje indica dónde.
no hay ninguna matriz [[steps]]El texto no tiene tablas [[steps]].
la clave de nivel superior clave no es un valor simpleUna clave encima del primer [[steps]] contiene una tabla o una lista. Ahí solo puede haber valores simples.
un paso usa op op, que no tiene forma de listaEl op de un paso es uno que la lista no puede mostrar.
un paso usa la forma goto de if, que no tiene forma de listaUn if salta con then_goto o else_goto, o existe un paso goto. Reescríbalo con un bloque if y end_if, o siga editando como texto.
un paso if no tiene condiciónUn paso if no tiene condition.

Un paso​

MotivoQué corregir en el texto
un paso call no tiene fnUn paso call no nombra ninguna función integrada.
un paso set no tiene localUn paso set no nombra ninguna variable.
el call de un paso set no tiene fnEl call de un paso set no nombra ninguna función integrada.
el value de un paso set no es un valor únicoEl value de un paso set es una lista, o una tabla que no es una lectura ({ fn = "Name" }) ni una constante con nombre ({ const = "Namespace.Name" }).
el value de un paso set es el texto texto, que la lista volvería a guardar como el resultado de ese builtinEl value de un paso set es un texto entre comillas que se lee como una lectura, como "ClipboardGetText()". Para guardar el resultado de la lectura, escríbalo como { fn = "ClipboardGetText" }; de lo contrario, cambie el texto.
un paso set no tiene value ni callUn paso set no tiene nada que guardar.
un paso repeat necesita exactamente uno de times, while o untilUn paso repeat no tiene ninguno de ellos, o tiene más de uno.
el times de un paso repeat es un número, una constante con nombre o una llamada a un builtin guardados como texto, que la lista volvería a guardar como número, constante o resultado del builtintimes está escrito entre comillas, como "3", "MouseButton.Middle" o "MouseGetCursorX()". Escriba un número sin comillas, una constante como { const = "MouseButton.Middle" }, o una lectura como { fn = "MouseGetCursorX" }.
el times de un paso repeat no es un número entero ni textotimes es, por ejemplo, 2.5 o true.
una condición no es una tablaUn condition, while o until no es una tabla.
una condición necesita exactamente uno de fn, value o compareUna condición no tiene ninguno de ellos, o tiene más de uno.
el not de una condición no es true ni falsenot contiene algo distinto de true o false.
el fn de una condición está vacíoEl fn de una condición es un texto vacío.
el compare de una condición no es una comparación admitidacompare no es uno de ==, !=, <, <=, >, >=.
una comparación necesita left y rightA una comparación le falta left o right.
un operando de una condición no es un valor únicoUn value, left o right es una lista, o una tabla que no es una lectura ni una constante con nombre.
una condición compara el texto texto, que la lista volvería a guardar como número, constante con nombre, true/false o resultado de un builtinUn valor comparado está escrito entre comillas pero se lee como un número, una constante con nombre, true/false o una lectura, como "3", "MouseButton.Left" o "ClipboardGetText()". La lista no puede conservarlo como texto. Escriba una lectura como { fn = "ClipboardGetText" }, o cambie el texto.
args no es una matrizEl args de un paso no es una lista.
un argumento no es un valor únicoUn argumento es una lista, o una tabla que no es una lectura ({ fn = "Name" }) ni una constante con nombre ({ const = "Namespace.Name" }).
un valor nombra la constante texto, que no existeUn { const = "…" } contiene un nombre que no es una constante con nombre, o que no es texto. Corrija el nombre; las mayúsculas cuentan.

Bloques que no coinciden​

N es la posición del paso, contando desde 1.

MotivoQué corregir en el texto
el paso N es un else fuera de un bloque ifUn else sin ningún if abierto antes.
el paso N es un segundo else en un mismo bloque ifUn bloque if tiene dos pasos else.
el paso N cierra un bloque que no está abiertoUn end_if o end_repeat sin un bloque abierto que le corresponda.
el paso N abre un bloque que nunca se cierraUn if o repeat sin end_if o end_repeat.

Avisos alrededor del editor​

AvisoSignificado
No hay nada configurado en este modo, así que ejecutarlo no hace nada. El contenido de modo se conserva, pero no se ejecuta.Escrita como está en un modo vacío mientras otro modo tiene contenido. Haga clic en Usar modo para volver (Pasos, Script y AutoHotkey).
El soporte de AutoHotkey está desactivado en la configuración General, así que esta acción no hace nada hasta que se habilite.La acción se ejecuta como AutoHotkey, que está desactivado (AutoHotkey).
Ningún complemento registrado proporciona el motor “motor”, así que este script se omite al ejecutarse. Agregue el complemento en la página Complementos o elija otro modo.La acción se ejecuta en el motor de un complemento, y ese complemento no está registrado (Complementos).