ABC para Novatos 2: MACROS

Consejos y trucos de programación en AutoHotkey
Guill
Posts: 73
Joined: 09 Jun 2016, 22:00

ABC para Novatos 2: MACROS

27 Aug 2016, 16:10

AVISO: No creo que pueda responder preguntas, porque apenas conozco lo que comparto. Ojalá les sirva y entre todos, vayamos ayudando a elaborar un tutorial de AHK.

__________________________________________

2- MACROS

Una macro, o macroinstrucción es una serie de tareas que se predefinen para simplificar acciones repetitivas, recurrentes y monotónas. Hay programas como Word o Excel que tienen su propio sistema de macros, de modo que el usuario puede preestablecerlas, para no tener que hacer muchos pasos repetidos innecesarios.

Con AHK se puede hacer macros desde muy simples a muy complejas. En el post anterior vimos que la única orden que le dábamos era la de ejecutar algo con Run.
Aquí veremos otros comandos (los más comunes y sencillos) que ayudarán para este fin.


Send / SendInput : se traduce como "enviar" y sirve para hacer que pulse determinada tecla, escriba un texto o "envíe" algún comando.
La distinción entre Send y SendImput es para usuarios más avanzados. Acá los mencionamos porque eventualmente funciona mejor el segundo. Pero hacen aproximadamente la misma cosa.

:::::::::::

Sleep: (descansar) sirve para que AHK espere determinado tiempo sin hacer nada.  Su utilidad se entiende fácilmente por ejemplo cuando le decimos que abra un determinado programa,  pero para que siga con la nueva instrucción, debe esperar unos segundos hasta que se abra.

Se usa con un número que representa la cantidad de Milisegundos que AHK debe esperar.
Sleep 1000 ; equivale a  esperar 1 segundo

Sleep 500; medio segundo


:::::::::::::

Soundset: Sirve para modificar el volumen general de la computadora.

_____
_________________________
REPETIR VARIAS VECES, UNA SERIE DE ÓRDENES O INSTRUCCIONES

Loop: repite las veces que se le indica,  la tarea que sigue, normalmente entre llaves.

Un ejemplo que muestra lo anterior

F4::
Run notepad
Loop 3
{
Send a
Sleep 2000
Send b
}
Return


Qué hará lo anterior? Al presionar F4,
1. abrirá el Block de notas
2. Escribirá la letra a
3. Esperará 2 segundos
4. Escribirá la letra b

Pero como está afectado por un Loop desde el segundo punto, hará los pasos 2, 3 y 4, tres veces seguidas.


::::::::::

A TENER EN CUENTA
- Si se quiere dar la orden de presionar alguna de las 4 teclas auxiliares (Control, Shift, Win, Alt), no debe usarse sus símbolos, sino que debe ponerse la palabra entre llaves, de este modo:

F3::
Send {Control}

Lo mismo para otras teclas como "suprimir", Inicio (Home). etc.
También para símbolos que normalmente el programa interpretará con otra función
(Como !, +, #).

AHK tiene un nombre específico para cada una de las teclas. Algunas son predecibles, pero no todas. El listado de cómo AHK interpreta cada tecla está en
https://autohotkey.com/docs/commands/Send.htm

(ver el listado desde "Key name")


:::::::::::::::::::::::

EJEMPLO DE MACRO nº 1

SI ESTÁ ABIERTO UN PROGRAMA O VENTANA, ACTIVARLO, DE LO CONTRARIO, ABRIRLO.
por ejemplo: usamos un archivo txt con los contactos.


!F3::
IfWinExist Mis contactos: Bloc de notas ; SI ESTÁ ABIERTO "Mis contactos"
WinActivate ; ACTIVARLO, ES DECIR PONERLO VISIBLE
Else ; DE LO CONTRARIO
Run C:\Users\....\Mis contactos.txt ; ABRIRLO DE ESTA DIRECCIÓN
Return


. . . . . . . . . .

EJEMPLO DE MACRO Nº2
Esta macro sirve como ejemplo para trabajar con 3 ventanas a la vez.
Por ejemplo, necesitamos pegar una serie de fotos, en un powerpoint, previamente habiéndolas editado con Paint. Estando ya abierta la primera foto de la serie que se encuentra en determinada carpeta, deberán estar abiertos los tres programas (visor de fotos, paint, powerpoint) para que la macro funcione.
Esto es lo que hará

1 - tomará una foto del visor de imágenes de windows
2 - La pegará en Paint para editarla / recortarla
3 - Luego de copiarla, la pega en PowerPoint
4 - vuelve a empezar para hacer lo mismo con la foto siguiente (con Esc se anula cuando se quiere terminar)


Code: [Select all] [Expand] [Download] (Macro3ventanas.ahk)GeSHi © Codebox Plus



:::::::::: FIN :::::::::::::::

Return to “Tutoriales”

Who is online

Users browsing this forum: No registered users and 1 guest