Página principal » cómo » Cómo ahorrar tiempo al automatizar tareas tediosas con AutoHotkey

    Cómo ahorrar tiempo al automatizar tareas tediosas con AutoHotkey

    ¿Alguna vez has necesitado realizar la misma tarea sin sentido una y otra vez en tu PC? En lugar de perder horas haciendo clic en los botones y presionando las teclas, este es el momento perfecto para usar tus habilidades de AutoHotkey para que tu PC haga el trabajo por ti..

    Nota: Este ejemplo en particular es uno real que usé anteriormente hoy para ahorrar una pequeña cantidad de tiempo, pero estas son técnicas que he usado muchas veces a lo largo de los años para, literalmente, ahorrarme el tiempo.

    El escenario

    Estaba intentando revisar y eliminar un montón de mensajes de transmisión incorrectos en nuestra cuenta del boletín de correo electrónico, cuando me di cuenta de que su interfaz requería que yo hiciera clic manualmente en el botón Eliminar y luego lo confirmara en cada mensaje. Hablamos de 300. Mensajes incorrectos que necesitaban ser eliminados. Para empeorar las cosas, la interfaz es extremadamente lenta, lo que significa que habría pasado unos buenos 30-40 minutos haciendo clic y haciendo que mi túnel carpiano sea aún peor.

    En lugar de hacer eso, creé una nueva secuencia de comandos AutoHotkey y rápidamente escribí una secuencia de comandos para hacer el trabajo por mí..

    El primer paso fue identificar exactamente qué clics y teclas necesitaba para automatizar. Obviamente, el primer paso es hacer clic en el botón X, que muestra este cuadro de diálogo de confirmación de Ajax:

    Afortunadamente, el botón Eliminar se resalta automáticamente, por lo que simplemente puede presionar la tecla Espacio para confirmar. Una vez que se ha eliminado el registro, todo se desliza hacia arriba como si la fila nunca hubiera estado allí. Sabiendo esto, continuaremos y crearemos una secuencia de comandos que automatiza al hacer clic en el botón X, esperar 3 segundos al cuadro de diálogo de confirmación, presionar la barra espaciadora y luego esperar otros 3 segundos para que la fila desaparezca..

    Creando el Script

    Lo primero que querremos hacer es crear un bucle que repita las mismas acciones varias veces; en este caso, estimamos que tendremos que repetir esto 300 veces, así que usaremos el bucle sintaxis como esta:

    Bucle 300

    Ahora necesitaremos automatizar la acción de hacer clic, lo cual es fácil en AutoHotkey: solo escribe hacer clic. Puede usar una sintaxis de clic más avanzada si lo desea, elegir exactamente dónde quiere que haga clic en la pantalla o elegir el botón. Para nuestros propósitos, solo usaremos el valor predeterminado, lo que nos deja con esto:

    Bucle 300

    hacer clic

    Ahora nuestro script hará clic 300 veces seguidas, pero desafortunadamente tenemos que lidiar con el cuadro de diálogo de confirmación, por lo que ahora usaremos la función Enviar para enviar la pulsación de la barra espaciadora a la ventana activa.

    Bucle 300

    hacer clic
    Enviar, espacio

    Si observa la documentación, verá toda la sintaxis de las teclas especiales (se pueden ingresar pulsaciones normales normalmente), por ejemplo, si desea escribir prueba y luego terminarlo con un espacio, usarías esto:

    Enviar, prueba espacio

    Así que ahora tenemos un script que hace clic en el botón y luego en la barra espaciadora, que estaría bien, excepto que la interfaz es lenta, por lo que necesitamos insertar una pequeña pausa entre cada ejecución de las funciones de clic y envío. Para lograr esto, usaremos la función Suspender, que toma solo un argumento: el retraso en milisegundos.

    Bucle 300

    dormir 3000
    hacer clic
    dormir 3000
    Enviar, espacio

    Ahora tenemos una secuencia de comandos que eliminará con éxito los elementos, esperando 3 segundos antes de que comience, para que pueda mover el cursor del mouse sobre la primera X, hacer clic en el botón, esperar 3 segundos, golpear la barra espaciadora y luego esperar 3 Segundos antes de que pase por el siguiente set. Podría usar este sencillo script ahora mismo si quisiera, pero ¿qué sucede si desea detener el script??

    Lo que haremos es usar la función GetKeyState para verificar si has alcanzado una cierta clave para realizar pruebas, usaremos la tecla F8 y agregaremos lo siguiente en el medio del ciclo. Esto detectará si se presionó la tecla F8, y luego usar la pausa para salir del bucle.

    GetKeyState, estado, F8
    si estado = D
    descanso

    El guion final

    Aquí está la secuencia de comandos final, todo junto, lo que probablemente no lo ayude demasiado ya que es específico para mi escenario, pero puede usarlo para crear sus propias secuencias de comandos simplemente modificando los clics y el envío de pulsaciones de teclas..

    Bucle 300

    GetKeyState, estado, F8
    si estado = D
    descanso
    dormir 3000
    hacer clic
    dormir 3000
    Enviar, espacio

    Regreso

    Para ilustrar cómo funciona esto en la práctica, aquí hay un video rápido que lo muestra en acción:

    En este escenario particular, me tomó cerca de 3 minutos reunir un tiempo de guión de trabajo guardado: 27 minutos. Solo el tiempo suficiente para que yo pueda grabar el video y escribir este artículo!