Marcus' Macro Blog

Tips and News on Macro Recording and Automating Windows with Macro Scheduler
October 29th, 2017 by Marcus Tettmar

We’ve had a few questions lately about how to send email using the SMTPSendMail function via the Office 365 SMTP server.

Until Macro Scheduler 14.4.02 which we have released today this wasn’t possible as explicit TLS was required and SMTPSendMail did not support it. We have now added this. So as long as you have updated to Macro Scheduler 14.4.02 (and you have a valid Office 365 account) here’s the code you need to send an email via the Office 365 mail server:


See also:

October 29th, 2017 by Marcus Tettmar

Macro Scheduler 14.4.02 maintenance release is now available for download from the usual places.

For details of changes please see the history list here.

Registered Updates | Trial Downloads | New Licenses

October 11th, 2017 by Marcus Tettmar

Our longstanding customers will know we’ve never really been into jargon here at MJT. Jargon in the IT industry tends to come and go. And there’s something quite amusing about a term that pops up and is touted as being some amazing new thing when it simply describes something we’ve been doing here at MJT Net Ltd for 20 years! On the other hand any term that helps to describe what we do is useful and I suppose it’s nice to know that finally, after all this time, what we do in our little niche of the IT world now has a name: Robotic Process Automation or RPA.

So those of you who have been using Macro Scheduler for a while know what RPA is, even if you’ve never called it that.

Robotic Process Automation tools allow you to create “bots” (we’ve always called them macros) to automate business processes (often by simulating a user). With RPA we automate repetitive tasks – taking the robot out of the human – freeing people up for more value-adding activities.

Our customers have been automating their processes robotically for years, ever since Macro Scheduler was first released way back in 1997.

October 6th, 2017 by Marcus Tettmar

Customer Profile

The Royal National Institute of Blind People (RNIB) in London is a leading source of information on sight loss and the issues affecting blind and partially sighted people. Practical and emotional support from RNIB helps those who are losing their sight, blind, or partially sighted face the future with confidence.

Business Challenge

One of the programs offered by RNIB is the Talking Book Service. Talking Books are mastered in a format called DAISY, which allows someone with visual impairment to navigate through an audio book in much the same way as a sighted person would browse through a print book, such as by parts, chapters, page, and phrase.
Adding this amount of navigation, however, can require a lot of mouse clicks and keyboard commands. For example, adding the navigation controls for just one page requires up to ten actions to be performed. When you multiply that by the number of pages in a book, it quickly adds up to thousands of actions. Not only is this time-consuming, but it is also prone to user error, not to mention a potential cause of repetitive strain injury (RSI).

Oliver Johnson, Senior Audio Engineer at RNIB Talking Book Studios, knew there must be a more efficient system and started to research the possibility of automating the process. Mr. Johnson was looking for something that was powerful enough to solve the problem but not so complex that only an expert could use it.


Upon downloading MJT Net’s Macro Scheduler, Mr. Johnson was immediately struck by how easy it was to use. What surprised him was discovering all the other functions built into Macro Scheduler that he hadn’t thought of previously. Having access to image recognition, looping, database functions, and DDE commands suddenly opened up new possibilities and gave him ideas for other projects.

Mr. Johnson’s first task using Macro Scheduler was the script he wrote to add Page Navigation in DAISY to a Talking Book. In his words, “the result was quite astounding. Whereas before a member of staff would have to manually add the pages one at a time over the course of a couple of hours, now they could just say how many pages they wanted to add, click OK, and walk away. [Macro Scheduler] would do everything else.” This has saved RNIB hundreds of staff hours every month on just one task, thereby reducing costs and increasing productivity at the same time.

Another area where Macro Scheduler has proved invaluable is in facilitating the use of screen readers and screen magnifiers, which make applications and websites accessible to people with sight loss. Screen readers are not always able to detect navigational buttons on websites. While most screen readers allow you to create scripts to help make such programs a bit more accessible, they are unable to simplify or automate the process.

With the wide range of commands available within Macro Scheduler, Mr. Johnson has been able to “control programs that screen readers can’t easily work with; speed up the process so that staff with a visual impairment can work quickly, accurately and confidently; and automate processes so that staff can be freed up to work on other tasks while more mundane, repetitive, and time-consuming tasks are handled by macros.”


RNIB Talking Book Studios has seen tangible benefits since beginning to use Macro Scheduler:

Increase in Productivity

Macro Scheduler has given Talking Book Studios the ability to automate several processes that previously used hundreds of staff hours. As a result, staff members have been freed up to work on other projects. In addition, Macro Scheduler has improved the usability of programs so that staff members with a visual impairment can work more efficiently and accurately.

The office produces tens of thousands of audio files every month, which are impossible to proof by hand. Macro Scheduler performs these checks every night to ensure that the files have the correct format, sample rate, and bit rate.

Reduction in Errors

Automation of navigation controls has eliminated user error when mastering Talking Books in DAISY. This keeps production on track and on time. Not only does Macro Scheduler enable Talking Books to perform quality checks on audio files, it also generates daily reports that flag any files that may require further investigation. This alone has reduced the number of errors by 50%.

Ease of Use

When asked what he likes best about Macro Scheduler, Mr. Johnson reports: “Macro Scheduler is so simple to use. The fact that someone like me, whose only experience of writing any form of code was rudimentary HTML, can use it straight out of the box, without reading through a manual first, speaks volumes.”

Customer Support

Mr. Johnson says that “the level of support from Marcus and the team has been some of the best I’ve ever come across. The forum is a wealth of information, and it is very active, so if you do require some assistance, help is never far away. On more than one occasion several members have gone out of their way to help me solve problems or suggest alternative and better ways of achieving things.”

About MJT Net

MJT Net Ltd develops and markets automation utilities and productivity software for business and home Windows users. Its flagship product, Macro Scheduler, was first released in 1997. With more than 30,000 companies and individuals utilizing Macro Scheduler technologies, MJT Net has become synonymous with software automation and automated testing.

October 5th, 2017 by Marcus Tettmar

I’m pleased to announce that Macro Scheduler 14.4 is now available.

Macro Scheduler 14.4 brings you some cool new Screen OCR functions with a handy little Screen OCR wizard to go with them.

We’ve also added a HoldKey function to make it easier to hold keys down or perform key repeats, a function to set the volume and a new Excel function to attach to an existing – already open – workbook. There’s a handy ArrayFind function to help you find an element in an array quickly and for those of you automating downloads from websites there’s the new IEDoDownload function which “auto-clicks” on IE’s annoying download bar and removes the need for the legacy download manager.

For the more advanced programmer there’s also improved variable type awareness to give you more control over how comparisons take place in complex expressions.

For a full list of changes see the version history here. For trial downloads go here. Registered users can download their copy/upgrade in their account here.

October 3rd, 2017 by Marcus Tettmar

Did you know you can use Regular Expressions inside any of Macro Scheduler‘s window functions (e.g. SetFocus, WaitWindowOpen, WaitWindowClosed) so that you can match a window title using RegEx?

As an example someone recently asked us how they would match a window from an old piece of software where the window title was always the letter “b” followed by any 8 digits, e.g. b23425461. Macro Scheduler uses the PCRE syntax, so to match a window title like this we could use this expression:


If you’re new to RegEx this means: match from the beginning of the string (^), then match a “b” character followed by any digit (\d) 8 times. {8} means match the proceeding token 8 times. So:


I’ve posted a little about Regular Expressions before. This post links to some useful resources if you are new to RegEx.

Regular Expressions for Dummies
My Most Used RegEx
Remove Tags From HTML with RegEx

September 19th, 2017 by Marcus Tettmar

A sneaky peak of some new Screen OCR functions we have in development:

Please note that this feature is currently in development and therefore the syntax and final implementation may differ on release.

August 11th, 2017 by Marcus Tettmar

A customer filing PayPal disputes rather than emailing us and then, despite confirming that they have the software, failing to cancel the dispute and PayPal finding in their favour, leaving us out of pocket!

PayPal is costly and causes so many accounting headaches it isn’t true. I’ve a good mind to remove it from our site. How many people only buy because we accept PayPal? Anyone?

Another “customer” asking us to write a script, watching us write code, seeing it working, speaking favourably throughout the project at every step, never voicing any concern and then refusing to pay at the end. What’s the answer, lawyers and contracts, which would mean we’d have to put the prices up, or just stop offering script development services? Answers below.

Maybe give up completely. It isn’t what it used to be. This was fun in the early Internet days. Now it just feels like everyone wants something for nothing. Convince me otherwise below.

July 26th, 2017 by Marcus Tettmar

Prompted by a recent forum post from Phil Pendlebury the other day I have written a new article on using XMLParse in the knowledge base:

Parsing XML with XMLParse and XPath

Hope it’s helpful. I’m sure you’ll have more questions when you start using it in anger. So when you do, be sure to head over to the forums and ask for help. :-)

June 1st, 2017 by Marcus Tettmar

Did you know that we offer script development services? If you’re pushed for time or need a helping hand we can usually be of assistance. We often help people who don’t have the time or resource to build the automation themselves, or just want to get a jump start.

What sort of things do we do? It’s pretty much anything that needs automating, but a common scenario is data entry – usually reading data from Excel and entering it into either a web form or desktop app.

Recently we’ve written a script for a government agency which searches through hundreds of files looking for patterns and attaching them to emails; We’ve written a data entry script for a large oil company which reads through Excel and outputs the data to a web form; Helped a hospital automate entry of patient referrals into a web based system. We’ve reformatted CSV files; scraped data from a website; extracted data from PDF and output to Excel; Extracted patient data from an online dental patient database; assisted with extracting reports from an ordering system; and more.

So you can see we do all kinds of things. We have been automating processes for 20 years. If you have a project you could use some help with give us a shout and we’ll see what we can do.


    • Categories