Macro Express News
May 19, 2009
You have received this message because you are subscribed to the Macro Express News email list. To unsubscribe or to change your email
address visit www.macros.com/esubs.htm and click on the 'subscribe or unsubscribe' link.
1 - Macro Express Pro v 220.127.116.11
2 - Support for 64-bit processes
3 - Large Integers
4 - Sample Macro: Convert Highlighted Text
5 - Tip: Timed Delays vs Delays
6 - Tip: One Key hotkey macro: Use ShortKeys
7 - Tip: Understanding Global and Local variables in Macro Express Pro
8 - Past issues of the Macro Express News
1 - Macro Express Pro v 18.104.22.168 ME Pro
Normally we send an edition of the Macro Express News with each new release of Macro Express or Macro Express Pro. However, v 22.214.171.124 was
released shortly after v 126.96.36.199 so we decided to only send one edition of Macro Express News for both versions. Macro Express
Pro v 188.8.131.52 is now available From www.macros.com/download.htm.
A complete list of changes is available at:
- Fixed a problem in the control commands with partial titles.
- Vista's UAC dialog is displayed less often when preferences are changed.
- The 'Match Case' shortkey option now works with the Use Suffix option.
- The 'Reload Macro Express Preferences' command no longer causes a crash.
- Large values can now be entered in Large Integer variables.
- Fixed a bug in the 'Clear Control Cache' command.
- Fixed a bug where the 'Set Focus' command did not work.
- Inline comments no longer display ampersands as accelerator underlines.
- Added support for 64-bit processes.
- Added the ability to use variables in the 'Goto' command.
- Fixed problems with indenting in the script editor.
- Fixed a conversion error in the 'Wait for File Ready' command.
- Fixed a memory leak in the 'Macro Run' command.
- Fixed the CONFIGFILEPATH advanced installation option.
- Fixed a bug where the 'Import' dialog would appear offscreen.
- Fixed a bug in the window title activations.
- Fixed a crash that occurred when using the 'If File Attribute' command.
- Fixed a crash that occurred when re-sorting the recycle bin.
- 'Variable Set From File' can now save the dates to a Date/Time variable.
- Fixed a bug with capture macro requiring a hotkey.
- Fixed a crash when backing up while Windows is shutting down.
- Long 'Multiple Choice Menu' commands now return unique values.
- Fixed a bug with 'Variable Set String: Prompt for Filename'
2 - Support for 64-bit processes ME / ME Pro
Macro Express and Macro Express Pro will run on 64 bit versions of Windows XP and Vista but there are some limitations.
Macro commands and features that access the process name (something.exe) cannot interact with programs written specifically for 64 bit
versions of Windows. Window titles of these 64 bit programs are accessible but the process names are not.
With this release, Macro Express Pro is now able to include 64 bit processes and interact with them in commands such as 'If Program',
'Program Launch' and 'Terminate Process'. Further, these are also available in program specific scope and all Window Controls functions.
We will add this ability to Macro Express 3 when it is updated later this year.
3 - Large Integers ME Pro
Integer variables are useful for saving numeric information that does not include decimal values. Performing math with integer variables
can be more accurate than math using decimal variables. The method used by computers to store decimal values results in approximations,
not exact values, for large decimal numbers. Because of this, rounding errors creep in to calculations with decimal variables.
Math using integers is always exact. But you have to take into account that fractional amounts are discarded. The main limitation with
integers is that each integer variable is 32 bits in size. This limits integer numbers to values between -2147483648 and 2147483647.
Macro Express Pro now includes the new 'Large Integer' type of variable. These large integers support numbers between -9223372036854775808
and 9223372036854775807. Now you can have the advantages of using integers with much larger values.
4 - Sample Macro: Convert Highlighted Text ME / ME Pro
Al Willen sent us a macro that takes any highlighted text and gives the end-user the option of converting it to either all lowercase, all
uppercase, or initial caps (i.e. The first letter of each word is capitalized). Al said "Although the macro seems simple, it is the only
routine I know that conveniently can make initial caps of any sentence. I use it for movie or CD/DVD titles."
Versions are available for both Macro Express 3 and Macro Express Pro. Visit
for more information.
We will send Al a Macro Express T-shirt to thank him for sending us this macro.
5 - Tip: Timed Delays vs Delays ME / ME Pro
There are two types of delay commands that can be used inside a macro. The 'Delay' commands run code that loops while waiting for the time
to expire. This loop can use a lot of CPU cycles.
The 'Time Delay' and 'Time Elapse' commands tell Windows to put Macro Express to 'sleep' for the specified amount of time. In this state
Windows does not give Macro Express any CPU cycles. This type of delay uses very few CPU cycles.
Of course there is a trade-off. Because Macro Express is 'sleeping' when you use the 'Timed Delay' or 'Time Elapse' commands, you cannot
halt the macro by clicking on the Macro Express icon or by pressing the 'Abort Macro HotKey'.
If you want a long 'Time Delay' using relatively fewer CPU cycles and you want to be able to abort the macro, you could use a Repeat loop.
For example, suppose you want the macro to delay for 10 seconds. You could use a 'Time Delay' of .25 seconds but have the Repeat loop
perform the 'Time Delay' command 40 times. The amount of delay time is the same, but you would be able to stop the macro at least every
quarter of a second.
The 'Delay' commands are 'Delay: seconds' and 'Delay: milliseconds'.
In the Delay dialog in Macro Express Pro the 'Timed Delay' commands are listed as 'Timed delay in seconds' and 'Timed Delay in
milliseconds' These are displayed in the Script Editor as 'Delay: seconds, without ability to halt' and 'Delay: 1 milliseconds, without
ability to halt'.
In Macro Express 3 there is only one 'Timed Delay' command called 'Wait Time Delay Seconds'.
The 'Time Elapse' command in Macro Express Pro is called 'Wait for Time to Elapse' and 'Wait Time Elapse' in Macro Express 3.
6 - Tip: One Key hotkey macro: Use ShortKeys ME / ME Pro
Occasionally we are asked how to assign a macro activation to a single keystroke, for example the J key. The hotkey logic excludes
regular keystrokes because it could get confusing. Just imagine, what could happen if every time you pressed the J key a macro ran.
However, if you absolutely need to do this, you can using the shortkey activation logic. Here's how.
In the ShortKey Preferences select the 'Use Prefix Keys' option and delete the keystrokes from the 'Keys' field. Then create a shortkey
macro using the J key as the shortkey.
We strongly recommend that you set the Scope of this shortkey macro to limit it to a specific program. Otherwise, every time you press
the letter J your macro will run.
Note that after setting the 'Use Prefix Keys' option along with a blank 'Keys' field, all shortkey activated macros will run without
requiring prefix keys. You may get around this by adding a prefix to the shortkey macros themselves. For example, if you currently type
##kh to run a macro, the shortkey for your macro is probably 'kh'. Change the shortkey to '##kh' and remove the prefix keys. You can
still run your existing macro by typing ##kh, but now you can also run the new macro by pressing J.
This tip applies to both Macro Express and Macro Express Pro.
7 - Tip: Understanding Global and Local variables ME Pro
New with Macro Express Pro is the option to determine if a variable is 'Global' or 'Local'. This choice is made by selecting the 'Make
this variable available to macros called by this macro' option when a variable is defined.
As your collection of macros grows, you may have a set of macros that perform specific functions that you use over and over again. These
functions are placed in individual macros and 'called' using the Macro Run command.
Often these macros require variables that are only used within that macro and are not needed outside the macro. You may, for example, use
a variable named %Idx%. This can cause problems, however, if you attempt to use %Idx% in one of your main macros and in a called macro.
This is the perfect use for Local variables. To create a Local variable uncheck 'Make this variable available to macros called by this
macro' when defining the variable. The %Idx% variable in your called macro will not affect the %Idx% variable in your main macro.
Global variables are available in the macro where they were defined and in all macros called from that macro via the Macro Run command.
This is the way variables worked in Macro Express 3.
It is not a good idea to define a variable in a called macro and expect it to be available in the main macro.
More information about the scope of variables and how to share information between different macros can be found in the Variable Scope
knowledgebase article: www.macros.com/faq//4.52.html.
8 - Past issues of the Macro Express News
Are you a new subscriber to the Macro Express News email newsletter? Did you miss an issue? Past newsletters are available online
Comments and Suggestions
We welcome customer feedback. Let us know what you like and dislike about Macro Express. Send questions, comments and suggestions:
Insight Software Solutions Home Page:
Macro Express Home Page:
Insight Software Solutions, Inc.
PO Box 106
Kaysville, Utah 84037-0106
The Macro Express Development Team