Macro Express News

September 9, 2010

This is the online edition of the Macro Express News email newsletter. You can have future editions delivered directly to your email inbox. Visit the Macro Express News page to subscribe or to view past issues.

Macro Express v ME Pro

Macro Express Pro v is now available from This release of Macro Express Pro contains several enhancements and bug fixes including:
  • Added a 'MessageBox' command
  • The 'Run Control Panel Applet' command on Windows Vista and 7 now shows more applets
  • Improved variable handling
  • The error messages in the script editor concerning variables are now more descriptive. They will display the name of the variable and the problem.
  • The Wait Web Page command is now more reliable on more computers
  • Increased the maximum value size of the 'Variable Set String From INI File' from 256 characters to 1024
  • The help has been changed with an updated look and feel
A complete list of changes is available on the version Release Notes or the Revision History pages.

Date/Time command modification ME Pro

The 'Date/Time: Set to an adjusted date/time' command allows a macro to get a date adjusted into the past or the future by a number of days, months or years. If the current date is 3/31/2010, what should the result be if you add one month? In the past, Macro Express Pro changed the date to 5/01/2010.

Long time customer and macro expert Cory Jackson requested this be changed. He says that Excel, the IRS, financial institutions and the legal community say that adding one month to 3/31/2010 should result in a date of 4/30/2010. As a result, Macro Express Pro has been changed to be consistent with industry standards.

If your macros use the 'Date/Time: Set to an adjusted date/time' command and depend on the previous functionality, you can revert to the former method using an entry in the registry. To do this:

   - Launch RegEdit
   - Navigate to HKEY-LOCAL_MACHINE\Software\Insight Software Solutions\Macro Express 4\AdvOptions
   - Create a DWORD value with the name 'Use Old Date'
   - Give it a value of 1

If you need to apply this patch to more than one computer, a simple macro could make this change:

  Variable Set Integer %Int% to 1
Write Registry Value "%Int%" into HKEY_CURRENT_USER\Software\Insight Software Solutions\ ...
    Macro Express 4\AdvOptions\Use Old Date

You may need to restart Macro Express Pro for the change to take effect. The usual precautions about changes to the registry apply.

Tip - Variable Arrays ME Pro

Over the past few months we have received a number of inquiries similar to this question: "Is there any way to increment an array variable within a loop, so that in the first loop the result is saved to T[1], in the second loop the result is saved to T[2], in the third loop the result is saved to T[3], etc.?"

The answer to this question is "Yes." Below are a couple of examples of how you would structure the variable.

1. Using T[1] and N[1] variables, the variable would be written as - %T[%N[1]%]%
2. With %Text[ ]% as the Text String variable array and %Integer% as the Integer variable, the structure would look like this - %Text[%Integer%]%

This sample macro illustrates how to use this feature:

  Variable Set Integer %Integer% to 1
Text File Begin Process: C:\Users\Documents\File.txt
    Variable Modify Integer %Integer%: Increment
Text File End Process

1. First assign a value to the integer variable. In the Text File Begin Process command insert %Text[%Integer%]% as the variable to receive the result. Increment the value of the Integer by one and close the loop.

2. The first iteration saves line one of the file to variable %Text[1]%. The next time through the integer value is 2, so the second line of the file is saved to variable %Text[2]%, variable %Text[3]% for line 3 and so on.

3. Use the variables for what you need when finished with the loop.

Tip: Date/Time math - How long does it take to run your macro? ME Pro

The Date/Time variable allows you to do quick date or time calculations.

Suppose you have a macro that takes quite a while to complete. You want to know how long it takes and compare this with subsequent playbacks of the macro.

Here is a sample macro that makes this time calculation.

  Date/Time: Set %StartTime% to the current date/time

    *** Macro steps ***

Date/Time: Set %EndTime% to the current date/time
Variable Modify Date/Time: %ElapsedTime% = %StartTime% - %EndTime%
Variable Modify Date/Time: Convert to Text String

1) At the beginning of the macro save the current date and time to a Date/Time variable such as %StartTime%. Run the macro. At the end of the macro, save the date and time to variable %EndTime%.

2) Subtract the start time from the end time using the Variable Modify Date Time command. Finish by converting the Date/Time variable to a text string, which will then display the results in Hours, Minutes and Seconds.

Clarification ME - ME Pro

The article Improving the Quality of Life for People with Disabilities in the June 22, 2010 issue of the Macro Express News says Macro Express is being used to "bank the voices of people before the disease progresses so that they can communicate, using their actual voices, after they lose the ability to talk."

Alan Cantor wrote to say "It was not me who banked the voices. It was Margaret Cotts who came up with that ingenious idea!" Margaret, thank you for an innovative use of Macro Express. And thank you Alan, for bringing it to our attention.

Press Kit | Resellers | Affiliates | Contact Us | Site Map | Trademarks | Privacy
Copyright © 2017 Insight Software Solutions, Inc. All rights reserved.
Insight Software Solutions, Inc. Home Page Insight Software Solutions, Inc. Home Page