November 26, 2011

Upgrades are 60% off Regular Prices

Filed under: Uncategorized — Marcus Tettmar @ 11:06 am

I’m still getting questions about upgrade pricing.

Some people don’t seem to be aware that if they have an older version they can get version 13 for almost 60% off the regular price. Not 10%. 60%.

If you have an older version of Macro Scheduler (any version!) then right now you can purchase the upgrade to v13 at this huge discount.

To see the upgrade prices go to:

To ensure you are eligible log into your secure download account at

If you can’t get logged in, email us, and we’ll get you sorted.

October 14, 2011

It can’t be done. Or can it?

Filed under: Uncategorized — Marcus Tettmar @ 8:12 pm

“It can’t be done.”

We’re always meeting people who have been told by consultants and technical folk that moving data from one application to another can’t be done.

We prove them wrong every time.

One of the most popular uses for Macro Scheduler within corporations is automated data entry. Time and again we learn about projects where systems are replaced and renewed but gaps still exist which need to be bridged by manual “rekeying”.

In an ideal world there will be an API, database access, or an interface to export/import data files. But the reality is we still don’t live in an ideal world.

Surprisingly often, especially with older legacy systems, none of these things exist. More often than not they are technically possible, but for various reasons just don’t get implemented. It might cost too much, system vendors may not be willing to open up their technology, IT staff may be too busy on other projects.

And quite often it seems that IT departments are busy working on the “big picture” and consider these “rekeying” jobs too small to worry about.

Taken in isolation the fact that one person in one department might be rekeying patient records, or invoices once a month for three hours might seem a trivial problem. But it’s not just one person in one department. In our experience every team throughout an organisation has someone doing something like that. Added up the total time wasted by the organisation is huge. More often than not these people are being taken away from more productive work.

As an example consider a hospital we are currently helping.

Hospitals are huge organisations, with hundreds of departments and all kinds of systems where for all kinds of reasons people are keying data into one system that was extracted from another.

In a few days we’ve already helped four departments remove the need for monthly manual data entry jobs. In total this must be saving at least 2 man-days per month. In actual fact what it really means is that the clinicians who once had to do this work can now treat two or three more patients a month each.

And this is just the tip of the iceberg.

It may seem like small gains. But we have only just got started and I’m quite sure that every department has at least one person doing manual work that they don’t need to do. In this age of austerity and cost cutting it is fantastic to see the hospital making lots of small efficiency gains that together make a big improvement.

The trouble is that most people don’t realise that what they are doing can be automated.

Most of our customers are an exception, and the IT guy at the hospital thought outside the box and found a solution.

But most people are told “it isn’t possible” so carry on tapping away at the keyboard.

Most IT people, bless them, sometimes think too technically. It’s understandable. So you ask IT “can we automate this data entry procedure” or “can we connect these systems” and words and abbreviations like API, SOAP, XML, SQL will fill their heads, and they’ll come back and say “No sorry, can’t be done”. If you’re lucky someone will contact the system vendor who will naturally want payment for building a custom interface and then it will turn out that the vendor of the other system needs to be involved, or a new module needs purchasing, or someone needs to go on a training course, and all of a sudden it’s looking far too expensive and going to take far too long, to make it justified. So the conclusion is it isn’t possible.

But if you’re reading this blog you know there IS another way to do it.

We CAN automate data entry at the user interface level. And it CAN be made reliable and robust.

Is it the most ideal solution? Some would say not. But are we living in an ideal world? No.

We can demonstrate, our customers can demonstrate that it works. It allows the process to get automated quickly, without specialist technical resource, without reliance on the system vendors or even the IT department and without a large investment. For a relatively tiny outlay the invoice clerk’s life can be transformed, the human resources department can avoid rekeying appraisal data every month and clinicians can stop doing tedious tasks and get back to doing what they love, what they’re best at and serving the community.

I heard about a project in another public sector body near here the other day which has cost a fortune. New systems were brought in and inevitably there was some part of it that would have to remain manual. Consultants were brought in at great cost to look for a solution and after several months and lots of money their conclusion was that while they might be able to improve it a bit there will still be the need for some manual “rekeying”.

Macro Scheduler could have saved them – and the taxpayer – thousands. But it never occurred to them that there was another way.

So my challenge, our challenge, is to reach out to these people, reach out to ordinary people and tell them “it IS possible”. We can simplify your work, we can automate those repetitive tasks, don’t believe everything consultants might tell you – they can’t help thinking traditionally or too technically.

There IS a way.

If you use Macro Scheduler to simplify your own processes, reach out and tell people in other departments, tell your colleagues, tell your friends. There will be someone in other departments with similar problems who could also benefit.

Spread the word. We have a duty to save people time, make people more productive, make companies more profitable, and in the case of the public sector – save our tax money!

June 9, 2011

About the MacroScript SDK – How to Run Macro Scheduler Code Within Your Own Applications

Filed under: General,Uncategorized — Marcus Tettmar @ 8:46 am

What Is The MacroScript SDK?

The MacroScript Software Development Kit is a software component that allows developers to use the Macro Scheduler scripting language within their own applications. It comes in ActiveX and DLL form so that almost any programming language, including VB, C#, C++, Delphi, PowerBuilder, etc, can make use of it. It makes it possible for other applications to run Macro Scheduler code internally. As well as run Macro Scheduler code it allows the programmer to query or modify MacroScript variables at any point during execution.

Who Would Use It and Why?

The SDK is aimed at application developers. It is commonly used in projects where some integration is needed with other third party or legacy applications where no API exists, or where the developer needs to provide a means of creating macros within their applications.

For example, DM Software in Denmark used it in their Dialog Manager product to simplify integration with other systems and share data with them, as well as allow their users to create scripts for custom integrations. You can read the case study here.

Why Not Just Compile a Macro with Macro Scheduler Pro and “shell” it?

If all you want to do is have your application run a Macro Scheduler macro to perform some automation, then, sure, all you really need to do is compile your macro to a .exe and then call or “shell” this .exe from your application. E.g. using the VB/VBA Shell function.

This might be fine if that is really all you need to do. But what if you want to get data back from the macro? Let’s say the macro scrapes data from a web page and you need to get this data back into your calling application. This would be difficult to do with an external .exe. While you could use temporary file storage or a database and have your .exe macro write the data out and then read it back in with your application, this requires extra work and validation. You also have to consider the implications of the external macro process being terminated prematurely, perhaps by the user.

With the SDK you can execute script code directly from within your application in whole, or in sections or even one line at a time. And between lines or code sections you can directly query the value of a variable or variables. So using the SDK you have much greater control, there is no need to handle shelling out to an external process, waiting for it to complete and reading/writing to file. Instead you can control the logic flow as you wish and access macro data directly, storing it in local variables as and when needed.

– Control of logic flow
– Direct access to script variables
– No need to start an external process

How Do I Use It?

The MacroScript SDK ships with both an ActiveX and native DLL interface so is compatible with the majority of development environments and languages. A basic set of methods provides access to the functionality and examples are included for VB, VBScript, C++, C# and Delphi.

Here’s a simple example in VB:

    Set MacroScript = CreateObject("MScript.MacroScript")

    'Run notepad and send some text to it
    MacroScript.RunCode "Run>notepad.exe"
    MacroScript.RunCode "WaitWindowOpen>Untitled - Notepad"
    MacroScript.RunCode "Send>Hello World"

    'set variable x to the value entered in Text1 multiplied by 5
    MacroScript.RunCode "Let>x=" & Text1.Text & "*5"

    'get the value of x and put it in Text2
    Text2.Text = "x=" & MacroScript.GetVar("x")

In the above example first we demonstrate running some code to start Notepad and send text to it. Next we create a MacroScript variable set to the value supplied in a text box on the form multiplied by 5 and then demonstrate how we can retrieve values back from the script.

As well as run script code you can also run script files and pass parameters into code blocks and scripts as you would command line parameters for regular scripts. In addition the ActiveX has script and parms properties and a Run method for an easy way to apply a script and run it.

For more information click here; download the evaluation which includes full documentation and examples; or read a case study on how DM Software makes use of the SDK in their Healthcare Application.

March 24, 2011

False Positives – Preying on Fear and Ruining Reputations

Filed under: Uncategorized — Marcus Tettmar @ 5:09 pm

Update: 25/03/2011 1420 GMT – Symantec have just emailed me to say that this detection has been removed and will not be present in the next definition update.

Fake viruses are one thing. I recently helped out four people who fell victim to the fake “System Tool” virus which pretends that your PC has a virus, and preventing the computer from being used, tries to get people to visit their website to hand over their credit card details. They prey on fear.

But legitimate anti-virus vendors aren’t an awful lot better. I know a number of people who bought a home PC with Norton pre-installed. They get a free 12 month subscription for virus definitions. But they don’t know that. Most of them have no idea that an anti-virus product even needs to download new updates. Then 12 months later they get a nasty looking warning saying that their PC is unprotected and now they have to pay for a new subscription. Frightened that something nasty will happen to their PC they pony up.

What they didn’t realise is that there are cheaper/better and even free alternatives. When I tell them they seem pretty angry.

Now it seems Norton have decided that small software companies are not to be trusted and are scaring people into deleting perfectly good software.

I recently received reports from a couple of trial-downloaders saying that their Norton/Symantec software reports a possible virus in Macro Scheduler.

The “virus” is: ws.reputation.1

Details of this threat can be found here. I quote:

“WS.Reputation.1 is a detection for files that have a low reputation score based on analyzing data from Symantec’s community of users and therefore are likely to be security risks. Detections of this type are based on Symantec’s reputation-based security technology. Because this detection is based on a reputation score, it does not represent a specific class of threat like adware or spyware, but instead applies to all threat categories.

The reputation-based system uses “the wisdom of crowds” (Symantec’s tens of millions of end users) connected to cloud-based intelligence to compute a reputation score for an application, and in the process identify malicious software in an entirely new way beyond traditional signatures and behavior-based detection techniques.”

In other words it seems to be saying:

“Because only a few of our users have used this product, it must be dangerous, though we have no specific idea why.”

Isn’t there a catch 22 here? Since insufficient people are using it to deem it safe Norton blocks it, which means no further people CAN use it, which means the number of people using won’t grow which means its reputation gets worse. A new file needs lots of people to use it for Norton to pass it, but if they block it new people can’t use it? It’s daft and very unfair.

And we’ve been in business and selling Macro Scheduler since 1997! If you’re a start-up with a new product I guess you’re going to have trouble getting the average home PC user to install your software since so many of them use Norton.

I wonder what Peter Norton would make of this.

If you use Norton – in fact even if you don’t – please send them a false positive report by going to:

January 26, 2011

Macro Scheduler 12.1.4 Available

Filed under: Uncategorized — Marcus Tettmar @ 1:22 pm

Macro Scheduler 12.1.4 is now available with the following fixes since my last update announcement:

  • Fixed: Issue with GetEnvVar not always working
  • Fixed: Dialog Designer – Properties not setting after opening dialog until dialog has been clicked.
  • Fixed: A block comment inside a While/EndWhile will cause EndWhile to hang
  • Fixed: LOCALVARS typo in help file.
  • Fixed: Dialog event handlers may still fire when debug stop is pressed causing error (e.g. OnClose)
  • Possible Fix: Changes to FindImagePos/WaitScreenImage to try to address hard to trace possible memory leak at a specific customer site

Workflow Designer and the SDK have also been updated to the same MacroScript version.

Registered Downloads/Upgrades | Evaluation Downloads | New License Sales

November 18, 2010

WebRecorder Update

Filed under: Uncategorized — Marcus Tettmar @ 11:23 am

WebRecorder and the IEAuto runtime have been updated as follows:

IEAuto 2.08 :

  • Added the ability to specify classname for ClickTag
  • Fixed issue where some fields may not click in IE8/9

WebRecorder 2.4:

  • Added Name/ID to Tag Extraction Wizard and will now output an ExtractTagByName if an ID or Name is present
  • Workaround for pre-focused fields to ask user to mouse click in element to identify it
  • Added detection of classname for ClickTag
  • Fix for situation where a form has no name (was previously returning [Object])
  • Removed old tag extraction drop down from toolbar and added Tag Extraction Wizard button

Registered Updates | Trial Downloads

May 12, 2010

Version 12 Dialog Stuff

Filed under: Uncategorized — Marcus Tettmar @ 9:09 am

For you dialog old-timers used to the way dialogs work in v11 and earlier I’ve posted a crib sheet for the new system here:

sarver311 has posted an example of a dialog that implements a drill down lookup list and demonstrates some of the new techniques:

If you have any nice dialog examples or tricks you wish to share please post them to the beta forum.

JRL points out that since Macro Scheduler is built with Delphi most of the dialog objects and properties are inherited from Delphi so for more detailed information about them the Delphi documentation can be consulted:

May 11, 2010

Macro Scheduler 12 Beta Updates

Filed under: Uncategorized — Marcus Tettmar @ 3:34 pm

Just a quick reminder that you can keep up to date with beta builds at the beta forum. The latest build is 028. So if you have an earlier build you should download now from the registered user area.

Everything seems to be going quite well and all being well we should now be in a position to release v12 by the end of May.

February 17, 2010

And The Winner Is …

Filed under: Uncategorized — Marcus Tettmar @ 11:44 am

Thanks to everyone who entered our T-Shirt design competition. I’ve really enjoyed seeing all the entries and it has been very difficult to pick a winner. All entries are excellent in their own right and there are some great slogans, creative designs and novel concepts.

I have a number of favourite designs and, personally, I found it very hard to choose an outright winner. But the consensus amongst all the judges was for this one:


We all like the way this conveys the right message in a simple, elegant way. Ok, some die-hard Macro Scheduler techies pointed out that the syntax isn’t Macro Scheduler syntax. But I don’t think that matters (the syntax used is recognisable and we could change the syntax and the message and concept would remain the same).

So, congratulations to Meryl for winning an Amazon Kindle!

Commiserations to everyone else and I’m really sorry there isn’t a truck full of Kindles to give away, or I’d be dolling them out, because I really liked a lot of these entries.

I’ve posted a few of the entries for sale on the MJT Net Zazzle store.  I wanted to post more, but Zazzle wouldn’t give me the “Post for Sale” option on them.  No idea why.  If yours is one of them, and you’d like it added to the store, then maybe you need to edit something.  Let me know if you figure it out.

October 29, 2009

Quick Sort Routine

Filed under: Uncategorized — Marcus Tettmar @ 8:00 am

Back in 2006 I posted an example of a Bubble Sort or Insert Sort algorithm. In this more recent forum post, azzkicker_9002 asks for help creating a Quicksort function which is faster for longer lists. So I took the example found here on the alogorithmist website and converted it to MacroScript. I tried to post the code here but it screwed up WordPress, so you’ll have to head on over to the forum to see it.

« Newer PostsOlder Posts »