Macro Scheduler’s Scripting More Powerful Than the Name Implies
By Ian Harac
PCWorldJan 10, 2012 2:16 pm PST
At a Glance
Not for casual users
Macro Scheduler lets you create macros to control your Windows applications, automate software processes and assign tasks to scheduled events, desktop shortcuts or hotkeys. Perform complex tasks with a single mouse click, or schedule your computer to perform tasks while you are away. Power users will appreciate the ability of the Pro version to compile scripts into standalone EXE files which can be launched on any Windows PC, and an integrated script debugger aids the creation of complex macros. The Macro Scheduler script language, now supports custom dialogs, complex expressions, subroutines and array type variables. Scripts can also include Microsoft VBScript code, combining the power and ease of use of the Macro Scheduler script engine with the popular syntax of VBScript, and allowing increased flexibility and advanced ActiveX automation. Macro Scheduler saves you time by allowing you to create scripts or record macros to automate any task. More than 200 script commands and standard programming constructs include the ability to send keystrokes and mouse events to other applications, wait for windows to open and close, make a particular window active, perform internet tasks, run programs and commands, execute files, read from and write to files, copy, move and delete files, and control applications with DDE. You do not have to be – or hire – a programmer to use Macro Scheduler. For complete ease of use, you can record macros to automatically create efficient, reliable scripts that can be edited and modified later. Recorded macros can even be compiled into standalone Windows applications. From running regular disk maintenance to generating financial reports, controlling file transfers and downloading e-mail, Macro Scheduler lets your computer work while you are not there. By operating at the user level it is application-independent and allows automation of repetitive, time consuming tasks. Automate intricate software processes and save wasted time and money.
Macro Scheduler 13 ($95, 30-day free trial) is a powerful tool for automating complex processes under Windows. The name “Scheduler” is a bit of an undersell; while it has all the scheduling and control options you could want, in my opinion, the real selling point of this program is that it’s a complete development environment for scripts. It includes an array of tools to make code generation easier while not tying the developer down to a small set of pre-determined options.
When a user first opens Macro Scheduler, they will see a list of predefined macros, most of which exist only to show off some feature of Macro Scheduler or serve as code examples. It’s fairly telling that double-clicking on an item, the most common thing a Windows user does when presented with a list, launches the program editor rather than executing the macro–Macro Scheduler lets you know up-front where it’s head’s at, as it were.
While there is a macro recording feature that will monitor and record your actions, and while there are number of wizards that make editing particular code functions much easier, it’s very unlikely, in my opinion, for someone who is not already at least a part-time programmer to get full use out of Macro Scheduler. So much of what you can do with the program is bound up with its robust language features that you’d miss out on most of it if you ignore or can’t access them. At the same time, I’m sure some experienced programmers will note that they could use other languages with appropriate OS hooks to duplicate what Macro Scheduler gives you–but you’ll spend time reinventing the wheels that Macro Scheduler provides from the get-go.
The programming language used by Macro Scheduler is a slight variant on Visual BASIC, and uses very familiar constructs for loops, subroutines, and so on. Anyone with experience in any mainstream procedural, imperative, language will quickly pick up the straightforward syntax. You’ll spend most of the learning curve studying the extensive list of functions, as there is very often a high-level function call that can replace a lot of low-level code. (For example, you easily write a routine that gets all the files in a directory and then loops to find the most ancient .jpg file… or you can use “getOldestFile>c:my pictures*.jpg,oldPicture”.) Fortunately, the program functions are all clearly organized and integrated with the script editing window, along with wizards that help you fill in complex parameters, such as the multiple options available to model mouse motion. Manually specifying all the options for “click here, move there while holding down shift, then double-right-click with ctrl-alt pressed” is much harder than using the wizard to generate the code, which you can then hand-edit as needed.
Some of the noteworthy features of Macro Scheduler include the ability to capture text from windows (which you can them programmatically parse), compare bitmaps for similarity, and produce fairly robust interactive dialog boxes.It has a somewhat more robust programming environment than some competing programs, such as AutoHotKey. AutoIt is comparable or superior in coding strength, but is not as focused on organizing/running macros.
There are a few downsides. Some things are not as intuitive as I would have expected, such as identifying controls within a window. The documentation is adequate, but not outstanding; I would have preferred more contextual examples of function calls, especially those with several options and parameters. One last thing: While the range of functionality of Macro Scheduler has expanded greatly since its initial 1997 release, it looks very much as if the interface design has not. It’s an irrational reaction, but if a programs look and feel is highly dated, it can be hard to accept that it’s capable of handling modern system requirements. Under the hood, Macro Scheduler 13 has been constantly updated to deal with ever-increasing file and disk sizes, system speeds, and so on.
The thirty-day trial provides full functionality, easily enough to evaluate Macro Scheduler and see if it meets your needs.