Graham Mayor

... helping to ease the lives of Microsoft Word users.

Many people access the material from this web site daily. Most just take what they want and run. That's OK, provided they are not selling on the material as their own; however if your productivity gains from the material you have used, a donation from the money you have saved would help to ensure the continued availability of this resource. Click the appropriate button above to access PayPal.

Display Currency Values in Words

This page features an add-in for Word to simplify the creation of currency values in formatted cash amounts and words, or in words alone

The add-in provides a simple user interface and remembers the user's last principle selections.

The output section at the bottom of the dialog is what is inserted into the document, so the output may easily be adjusted to taste using the various options available with the effect of those options being instantly visible.

The range of currencies displayed is user configurable and defined in a table in the add-in template itself. To access this table and instructions for its use open the add-in template in Word, make the changes and save it again. If you screw up re-install from the zip file.

The template table approach to allow users to easily configure the process was developed by friend and regular collaborator Greg Maxey for version 2.0, in response to a range of problems thrown up when trying to expand the original concept.

Greg has developed his version of the add-in with a different cosmetic style of interface and some different features. You can see his alternative take on the project by clicking his name above or the anchor link on the add-in itself.

The Table

The currency information table below lists data used in the add-in to process and provide formatted spelled out numerical text, associated with several world currencies. You may add or delete individual rows of currency data or edit the data in the existing rows to suit your particular needs. For additional information on currency codes and symbols see:

Do not delete the heading row, the green (home row) or the final row red row of the table below.

The green "home" row is intended to define your native or most frequently used currency. If you live in Japan, or use the Japanese Yen most frequently then edit this row to contain data for Japan and the Japanese Yen.

The final red row is required for processing general numbers. Ensure the red row is always the last row in the table.

Column one defines the country and currency name. This data is used to populate the output currency list in the add-in interface. The list is populated in the order that currency data is entered in the table.

Column two defines the international currency code, adjective country name, and the singular and plural names of the major/minor units of currency. Each data element in column two must be separated using the pipe "|" character.

The Chinese Yuán is divided in to ten minor units, the Jiǎo, which is divided into ten minor units, the Fēn. Both are used as singular/plural nouns. To process this currency, and others like it, add the additional data element "AB Units" to the end of the data string as shown in the highlighted example.

The Iranian Rial has no minor units. After all, nothing divided is still nothing! To process this currency, and others like it, use "No Minor" and "No Minors" as shown in the highlighted example.

Column three defines the decimal Unicode character value(s) for the currency symbol. Since some currency symbols are a composite of two or more characters, the decimal Unicode value defined in column three for each individual character must be separated using the pipe "|" character as shown in the highlighted example.

I have included a range of common currencies which includes the most popular traded currencies. Some currencies adopt different spellings according to local custom. The table allows for local spelling requirements to be adopted.

The Add-In is designed to detect and process single instances of isolated numbers in several formats used throughout the world. For example, each of these numbers illustrating various group digit and decimal separators may be processed as the same selected currency value e.g. $4,123.00:

  • 4123
  • 4123.00 (period decimal separator)
  • 4123,00 (comma decimal separator)
  • 4,123.00 (comma thousands separator, period decimal separator)
  • 4,123,00 (comma thousands separator, comma decimal separator)
  • 4 123 (space thousands separator)
  • 4 123,00 (space thousands separator, comma decimal)
  • 4.123 (period thousands separator)
  • 4.123.00 (period thousands separator, period decimal
  • 4.123,00 (period thousands separator, comma decimal)
  • 4'123 (apostrophe thousands separator)
  • 4'123.00 (apostrophe thousands separator, period decimal separator)
  • 4'123,00 (apostrophe thousands separator, comma decimal separator)

The add-in incorporates a limited deducing process to detect suitable numbers such as those illustrated above. These numbers are deduced and processed if you type them out and initiate the add-in or place the cursor anywhere in a number and initiate the add-in.

  1. Decimal separators (period "." or comma ",") are only deduced as a decimal separator when they are located at the second or third position from the right of the number to process.
  2. The add-in does not deduce the correct placement of any grouping symbols. The add-in resolves numbers like 867.5309 as single number with an incorrectly placed "." thousands separator. This number will deduce as 8,675,309.00.
  3. The add-in will produce undesirable results if you try to use it with general number sequences. For example, if you type "1 2" and initiate the add-in in hopes of seeing "One two (to finish typing) buckle my shoe", the add-in will deduce "1 2" as a single number with a misplaced comma group digit separator and return "Twelve."

Making it work

You can insert numbers as text using one of three different methods:

  1. Type out a number in the document and initiate the add-in processor using the keyboard shortcut ALT+CTRL+A, or clicking "Currency To Text" on the Word Ribbon, or by clicking the button on the QAT (Quick Access Toolbar) .
  2. Select an existing currency number value or put your cursor anywhere in and existing number and initiate the add-in processor as described above.
  3. Position the cursor where the number should appear and initiate the add-in processor as described above. You can then input the number to process directly in the add-in interface. presented.
When the Add-In dialog is presented:
  1. Review, edit, or input the number to process.
  2. Review/change the user configurable settings.
  3. When you are ready to insert the spelled out currency text, click "
    Process Insert."

The user configurable settings in the add-in dialog are saved and are predominantly "sticky." This means that values you enter/select will be pre-selected the next time the dialog appears.

You can leverage the "sticky" settings of the add-in by typing or selecting a valid number and auto-processing using the keyboard shortcut ALT+CTRL+A. This will auto-process your number with the saved configuration settings without displaying the dialog. This method is only available after you have defined your configuration settings and used the add-in the first time.

Using Document Bookmarks or Variables

In some documents, you may want your currency figures to appear in a different location and separate from your currency text (e.g., a check, bill of sale, etc.). The add-in can accommodate this requirement for a single spelled out number.

To enable this feature your document must contain either a bookmark named "bmFigures" located where you want the currency figures, and a bookmarked named "bmTextNumbers" where you want the spelled out number to appear,
a docvariable field referring to the variable "varFigures" located where you want the currency figures, and a docvariable field referring to the variable "varTextNumbers"  where you want the spelled out number to appear.

Bookmarked texts may be reproduced elsewhere in the document with REF fields, whereas docvariable fields can be used multiple times as required.

Where the bookmarks are not already present in the document to be populated, the process will warn the user and will be unable to place the data. Docvariable fields do not have to be present to use document variables, but where the fields have not been entered, the process will warn the user of their omission, but will populate the variables to allow the fields to be placed later.


  1. The add-in can process typed, selected, or deduced numerical inputs using whole units up to 999,999,999,999,999. Any fractional digits are rounded up or down to the next whole number.
  2. The add-in can fully process typed, selected, or deduced numerical inputs with fractional units up to 9,999,999,999.99
  3. When then typed, selected, or deduced numerical input is in the range of 10,000,000,000,000.00 – 99,999,999,999,999.99 the add-in rounds the output value up or down to the nearest tenth decimal place.

- Click here to download the add-in



 Currency to Text

This add-in was developed from a macro I produced in response to a question in the Microsoft Office forums.