5067 comments
2220 subscribers
4799 on Twitter
Subscribe! Feed reader E-mail

Braindump: Automating repetitive tasks using AutoHotkey

Note for myself (because I’m going to need this again someday!), and for others who drop by:

I needed to copy information from 45 slides and put them into an Excel spreadsheet so that I could reorganize the content and put them into a wiki. Fortunately, the author of the Powerpoint deck used a fairly consistent slide format. I used AutoHotkey to copy most of the information over by simulating mouse clicks and button presses. I started with this macro, which copies the text, switches to my spreadsheet, moves a cell to the right, and pastes it:

F12::
Send, {CTRLDOWN}c{CTRLUP}
WinWait, Microsoft Excel - facilitation.xls,
IfWinNotActive, Microsoft Excel - facilitation.xls, , WinActivate, Microsoft Excel - facilitation.xls,
WinWaitActive, Microsoft Excel - facilitation.xls,
Send, {RIGHT}{CTRLDOWN}v{CTRLUP}{ALTDOWN}{ALTUP}
WinActivate, Microsoft PowerPoint
return

 

I wanted to save even more keystrokes and mouseclicks, so I ended up automating the copying of each slide using the following script. It wasn’t perfect, but it saved me time and it was fun to make.

F11::
WinActivate, Microsoft PowerPoint - [ID Methods.ppt],
WinWaitActive, Microsoft PowerPoint - [ID Methods.ppt],
MouseClickDrag, left, 1037,  327, 1500, 327
Send, {CTRLDOWN}c{CTRLUP}
WinActivate, Microsoft Excel - facilitation.xls,
WinWaitActive, Microsoft Excel - facilitation.xls,
Send, {CTRLDOWN}v{CTRLUP}{RIGHT}
WinActivate, Microsoft PowerPoint - [ID Methods.ppt],
WinWaitActive, Microsoft PowerPoint - [ID Methods.ppt],
MouseClickDrag, left,  1037,  366, 1500, 366
Sleep, 100
Send, {CTRLDOWN}c{CTRLUP}
WinActivate, Microsoft Excel - facilitation.xls,
WinWaitActive, Microsoft Excel - facilitation.xls,
Send, {RIGHT}{CTRLDOWN}v{CTRLUP}
WinActivate, Microsoft PowerPoint - [ID Methods.ppt],
WinWaitActive, Microsoft PowerPoint - [ID Methods.ppt],
MouseClickDrag, left,  457,  344, 1500, 1000
Sleep, 100
Send, {CTRLDOWN}c{CTRLUP}
WinActivate, Microsoft Excel - facilitation.xls,
WinWaitActive, Microsoft Excel - facilitation.xls,
Send, {RIGHT}{RIGHT}{CTRLDOWN}v{CTRLUP}
WinActivate, Microsoft PowerPoint - [ID Methods.ppt],
WinWaitActive, Microsoft PowerPoint - [ID Methods.ppt],
MouseClickDrag, left,  454,  454, 1500, 1000
Sleep, 100
Send, {CTRLDOWN}c{CTRLUP}
WinActivate, Microsoft Excel - facilitation.xls,
WinWaitActive, Microsoft Excel - facilitation.xls,
Send, {RIGHT}{CTRLDOWN}v{CTRLUP}
WinActivate, Microsoft PowerPoint - [ID Methods.ppt],
WinWaitActive, Microsoft PowerPoint - [ID Methods.ppt],
MouseClickDrag, left,  564,  535, 1500, 1000
Sleep, 100
Send, {CTRLDOWN}c{CTRLUP}
WinActivate, Microsoft Excel - facilitation.xls,
WinWaitActive, Microsoft Excel - facilitation.xls,
Send, {RIGHT}{CTRLDOWN}v{CTRLUP}{ALTDOWN}{ALTUP}
WinActivate, Microsoft PowerPoint - [ID Methods.ppt],
WinWaitActive, Microsoft PowerPoint - [ID Methods.ppt],
MouseClickDrag, left,  490,  637, 1500, 1000
Sleep, 100
Send, {CTRLDOWN}c{CTRLUP}
WinActivate, Microsoft Excel - facilitation.xls,
WinWaitActive, Microsoft Excel - facilitation.xls,
Send, {RIGHT}{CTRLDOWN}v{CTRLUP}{LEFT}{LEFT}{LEFT}{LEFT}{LEFT}{LEFT}{DOWN}
WinActivate, Microsoft PowerPoint - [ID Methods.ppt],
WinWaitActive, Microsoft PowerPoint - [ID Methods.ppt],
Send, {PGDN}
return

Automation is worth the time investment. If you’re on Windows, check out AutoHotkey. =)

Short URL: http://sachachua.com/blog/p/7054

One Response to “Braindump: Automating repetitive tasks using AutoHotkey”

  1. [...] different tool) has become one of my favourite ways to automate everything from text shortcuts to transferring information to slides using a template. It boggles me that a similarly geeky tool has not yet become popular on Linux. AutoKey looks [...]

Comment, share a thought, ask a question...

Please comment as you, not your organization.





 

On This Day...