Macro functions

Phrases are not limited to static contents. Macro functions can add powerful features to static text templates:

PhraseExpress for Mac, iPhone/iPad and Android support a selection of macro functions with an adapted feature set. The mobile Apps do not include a macro editor - macro functions must be configured in the PhraseExpress desktop edition.

How macros works

Macro functions are placeholders in your phrase which are replaced with dynamic contents into the static phrase at the time of phrase insertion.


The current date is CurrentDate. The current time is CurrentTime.

PhraseExpress processes macro functions sequentially (with the only exception of form input macros) and replaces the macro placeholder with the current date:

The current date is 12/19/2019. The current time is 09:45am.

If you trigger the same phrase on another day, the corresponding updated date and time would be inserted.

Adding a macro

To add a macro function to a phrase:
  1. Click in the phrase text where you wish to add a macro.
  2. Select the desired macro function from the macro menu:

  3. Configure the parameters in the macro configuration dialog.

To edit an existing macro function, double-click the macro placeholder token.

Macro configuration dialog

A typical macro configuration dialog consists of:

Macro name

The macro name is the text label of the macro token/placeholder:

Choose a short name that describes the purpose of the macro.

Example: For a macro, that outputs a the current date plus 14 days for a payment reminder phrase, you may want to name it "Date+14d" or "PaymentReminderDate".

If no name is entered, PhraseExpress shows the underlying macro code in the phrase instead of the beautiful macro token:

The code view is interesting for expert users only, who like taking a peek under the hood.

You can toggle between code vs token view at any time by defining a macro name or removing it.

Macro parameters

Most macro functions have parameters and options which are explained for each macro in this documentation.

The Clou: Macro parameters may contain macro functions themselves!

Example applications:
  • Embed a phrase into another phrase based on a specific date or time, or the value of a Excel spreadsheet cell content, a user input, a calculation, etc.
  • Calculate a math expression consisting of a temporary variable, CSV file value and/or a Windows environment variable content, etc.
  • Pre-fill an user input prompt with the current date.
To achieve the latter example:
  1. Create a phrase and click where you wish to add the macro function.
  2. Select macro "User input » Manual input".
  3. Click the icon in the input field "Default".
  4. Select macro function "Time/Date" and configure that macro in its own macro configuration dialog.
  5. By clicking OK , the date/time macro token is inserted in the input field "Default".
  6. By clicking OK in the "Manual Input" macro dialog, the entire nested macro function is inserted into the phrase.

Additional processing

The macro output can be processed by a queue of addditional macro functions:

To add processing steps, click the button "Additional processing" at the bottom of a macro input dialog and add processing steps as required. All processing steps will be daisy chained and executed from top to bottom.

Example: To create a prompt for a text input which is then changed to upper case and finally placed into the clipboard:

  1. Add a "Manual Input" macro.
  2. In that macro input dialog, click the button "Additional processing" at the bottom.
  3. In the subsequent window, click "Add processing" and select "Set to upper case" from the list of actions.
  4. Add a second processing step and select "Set clipboard content".
  5. Confirm all dialogs with OK

For experienced PhraseExpress users: Each processing step in the processing queue encloses the current macro onion-like.

Global variables

The global variables feature will not be be available in the next major version and we suggest not to use them.

Macros can be stored as "global variables" in a common repository for re-use in other phrases. Such global variables are managed in the Variables Manager.

To show/hide the Variables Manager, click the icon in the main menu:

The Variables Manager is located next to the phrase contents, allowing you to easily drag & drop variables into the phrase content box.

If you use multiple phrase sources, e.g. a local phrase file and a SQL server connection, each source uses its own independent and isolated repository of global variables. A global variable cannot be used in a phrase stored in another phrase file/database.

Create global variables

To create a new global variable:
  1. Make sure, that the variables manager is visible (if not, click the variables manager icon in the main menu).
  2. Right-click into the free space of the global variables manager, and select "New" (or press hokey CTRL+N):

  3. Enter the desired content (text and/or macro functions).

You can also generate a global variable with a macro function.

Insert global variables

To insert a global variable into a phrase:
  1. Make sure, that the variables manager is visible (if not, click the variables manager icon in the main menu).
  2. Drag the global variable token from the variables manager into the desired position of the phrase contents.

Edit global variables

To edit a global variable:
  1. Double-click the global variable token, either in any phrase or in the global variables manager.
  2. Make the desired changes in the dialog window and confirm with OK.

Done! The change will immediately take effect for all phrases using the global variable throughout the library.

There are no access restrictions on global variables. All users can edit global variables.

Delete global variables

To delete a global variable:
  1. Make sure, that the variables manager is visible (if not, click the variables manager icon in the main menu).
  2. Right-click the global variable, you wish to delete, and select "Delete".
  3. Confirm the warning dialog with OK.

Done! The global variable is now removed from the variable repository.

You can only delete global variables that are not used by any phrase (including those in the recycle bin). To perform a search for all phrases using the global variable, right-click the global variable and select "Show all phrases using this variable". Then remove the global variable from the contents of all phrases to be able to delete that global variable.

You cannot delete global variables that are used in phrases you do not have access rights to.

Deleted variables will not be deleted from any backup.

Table of Contents

    Table of Contents