Syntax

Function

Usage


""

Mark text as a string

 

"FullName" would output the text "FullName".

In contrast, FullName would be a variable, and

output the value of the variable.

&

Append text and variable values together

 

"Mr. " & "John Doe" would output "Mr.

John Doe"

"Mr. " & FullName would output "Mr. John

Doe" if FullName had a value of "John Doe"

"\n"

Line feed

 

Tells the document rendering to use a line feed. For example, "John\nSmith" will render as:

John

Smith

ifs(ByVal condition As

Boolean, ByVal TrueValue

As String, ByVal

FalseValue As String)

 

If-then-else logic

for strings

 

The condition can be a function that will return true or false. For example, 1=2 will return false, whereas 2-2 will return true. Or, if the variable FullName is "John Doe", the function FullName = "John Doe" will return true.

 

If the condition is true, then the TrueValue string

will be used. This can be another function, a string

value, or a variable reference. Logically, if the

condition is false, then the FalseValue will be used.

 

Example:

ifs(Telephone<>"", "Tel: " & Telephone

,"") & ifs(Extension<>"", "\nExt " &

Extension, "") & ifs(Mobile<>"",

"\nMobile: " & Mobile, "") &

ifs(Fax<>"", "\nFax: " & Fax, "")

 

If all the variables present (Telephone,

Extension, Mobile, and Fax) contain values,

the resulting output would look like this:

 

Tel: 123-456-7890\nExt 123\nMobile:

459-789-0123\nFax:321-654-9874

 

The composition module interprets the \n to be a

hard return, so the resulting text would be displayed

as such:

Tel: 123-456-7890

Ext 123

Mobile: 459-789-0123

Fax:321-654-9874

 

Now let's consider what will happen if Extension and Fax do not contain a value. The resulting text

will be:

 

Tel: 123-456-7890\nMobile: 459-789-

0123

ifn(ByVal condition As

Boolean, ByVal TrueValue

As Double, ByVal

FalseValue As Double)

 

If-then-else logic for numeric values

Similar to ifs command.

Ifd(condition as boolean, trueValue as date, falseValue as date)

If-then-else logic for date values

Similar to ifs command.

Upper(ByVal value As

String)

Convert to upper case

 

Upper("john doe") will return "JOHN DOE"

 

If fullName equals "John Doe", Upper(fullName) will return "JOHN DOE"

Lower(ByVal value As

String)

Convert to lower case

 

Lower("JOHN DOE") will return "john doe". If fullName equals "John Doe", Lower(fullName)

will return "john doe"

trim(ByVal str As

String)

 

Remove "empty" characters from either end of a string.

trim(" John Doe") will return "John Doe"

len(ByVal str As String)

 

Returns the length of a string.

len("John Doe") will return 8

Bar128(ByVal str As String)

 

Encodes a string for use with the Code 128 barcode font.

 

OBSOLETE: Please use the Barcode field type instead, which natively supports many more types of barcode.

BarPostNet("Item #1257")

will add the start character, the checksum character and the stop character, as well as convert spaces and any other conversion necessary.

 

In addition to using this function, you must also upload the Code 128 font to your template and apply it to the field. Please contact technical support if you have any difficulty in locating a Code128 font.

left(ByVal value As String, ByVal n As Integer)

 

Returns the lefttmost 'n' characters of a string.

 

left("John Doe",3) will return "Joh"

 

If fullName equals "John Doe", left(fullName,3) will return "Joh"

right(ByVal value As String, ByVal n As Integer)

 

Returns the rightmost 'n' characters of a string.

right("John Doe",5) will return "n Doe"

 

If fullName equals "John Doe", right(fullName,5) will return "n Doe"

substr(ByVal value As String, ByVal start as Integer, ByVal n As Integer)

 

Returns the 'n' characters of a string, starting at position "start".

substr("John Doe", 3, 4) will return "hn D"

 

If fullName equals "John Doe", substr(fullName, 3, 4) will return "hn D"

StartsWithVowel(ByVal value As String)

 

Decides if a string starts with a vowel (a, e, i, o, u).

 

StartsWithVowel("Edward") will return "True" StartsWithVowel("John") will return "False"

 

Use in constructions like: Ifs(StartsWithVowel(name), "an " & name, "a " & name)

BarPostNet(ByVal str As String)

 

Encodes a string for use with the PostNet barcode font.

 

OBSOLETE: Please use the Barcode field type instead, which natively supports many more types of barcode.

BarPostNet("606091234 ")

will add the start character, the checksum character and the stop character.

 

In addition to using this function, you must also upload the PostNet font to your template and apply it to the field. Please contact technical support if you have any difficulty in locating a PostNet font.

 

setNumber

setPageNumber

runPageNumber

Special variables for use in the vdp jobs

 

setNumber will be replaced with the record number within the VDP run.

setPageNumber will be replaced with the page number within this VDP record.

runPageNumber will be replaced with the overall page number (before imposition).

 

These variables can be used both in VBScript expressions and directly in HTML scripted fields (by surrounding with @ signs, e.g. @setNumber@).

 

For example, consider a run of 100 records where each record consists of three pages. If the second page in the template uses these three variables in a VBScript or an HTML scripted field, then for the 75th record of the production run, setNumber will be replaced with 75, setPageNumber will be replaced with 2, and runPageNumber will be replaced with 224.

replace(target as string, search as string, replacement as string)

Replace parts of strings

Target is the string to look in. Search is the substring to look for. Replacement is what to replace it with. replace("the dog is the best of the breed", "the", "a") will return "a dog is a best of a breed"

regexReplace(target as string, search as string, replacement as string)

Replace parts of strings, using regular expressions to search

Target is the string to look in. Search is the regular expression to look for. Replacement is what to replace it with. regexReplace("Charles Warlas", "l[ae]s", "lie") will return "Charlie Warlie" Regular expressions are powerful, but very complex. See a public site like http://www.regular-expressions.info/for detailed information and training.

choose(x as string, choices as string, [default] as string)

Multiple choice lookup

x is the value to be looked up. choices is a string of all the lookup possibilities and their results, alternating, separated by pipe characters "|". [default] is what should be returned if none of the choices match. choose("dog","cat|Siamese|dog|Pekingese|horse|Arabian", "animal") will return "Pekingese" choose("ferret","cat|Siamese|dog|Pekingese|horse|Arabian", "animal") will return "animal"

superscriptOrdinal(input as string)

Add superscripts to ordinal numbers, like 1st 2nd 3rd

superscriptOrdinal("This is the 5th time I have tried the 31st choice") will return "This is the 5<sup>th</sup> time I have tried the 31<sup>st</sup> place"

smallCaps(src as string, fontsize as decimal)

Convert lowercase to small caps

The fontsize specifies how large the small caps will be. The true capital letters, therefore, need to have their size set outside of this function, either in the field format tab, or in other HTML.

smallCaps("Call the FBI and Tell Them We've Got Dillinger") will return

"C<FONT FONTSIZE='12'>ALL THE&nbsp;</FONT>FBI<FONT FONTSIZE='12'>&nbsp;AND&nbsp;</FONT>T<FONT FONTSIZE='12'>ELL&nbsp;</FONT>T<FONT FONTSIZE='12'>HEM&nbsp;</FONT>W<FONT FONTSIZE='12'>E'VE&nbsp;</FONT>G<FONT FONTSIZE='12'>OT&nbsp;</FONT>D<FONT FONTSIZE='12'>ILLINGER</FONT>"

sin(v as double)

 

Sine of angle in radians. sin(0.5)

cos(v as double)

 

Cosine of angle in radians.

Now()

 

Current date and time

Today()

 

Current date (without time)

Rnd()

 

Random number between 0 and 1

LeftTrim(str as string)

 

Trim white space from left of string.

LeftTrim(" giraffe ") returns "giraffe "

RightTrim(str as string)

 

Trim white space from right of string

RightTrim(" giraffe ") returns " giraffe"

PadLeft(str as string, wantedlen as integer, optional addedChar as string = " ")

 

Adds spaces to left of string until it is at least wantedlen characters long. If provided, addedChar will be used instead of spaces.

PadLeft("dog",5) returns " dog"

PadLeft("17",5,"0") returns "00017"

Mod(x as double, y as double)

 

Returns modulus - i.e., the remainder when x is divided by y. Mod(17,7) = 3 Mod(12,4) = 0

format_date(d as Date, fmt as String)

Format dates

Use these placeholders in your format string. NOTE: All language elements (day and month names, ordinal suffixes, etc.) are English only.

w named day of week: Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday

x named day of week, first three letters: Sun, Mon, Tue, Wed, Thu, Fri, Sat

d ordinal day number of month: 1st, 2nd, 3rd, 4th, etc.

e day number of month, no leading zero (1, 2, 3, ... 10, 11, ... 31)

f day number of month, leading zero (01, 02, 03 ... 10, 11, ... 31)

m named month (January, February, etc.)

n month number, no leading zero (1, 2, 3 ... 9, 10, 11, 12)

o month number, leading zero (01, 02, 03 ... 09, 10, 11, 12)

p named month, first three letters: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec

y full year (2013)

z last two digits of year (2013 = 13, 2005 = 05)

 

Any other characters in your string will be output exactly as given.

 

Example:

format_date(today, "m e, y")

result: January 2, 2014

(Please note that "today" is not a field name. It is a built in to the VB script library that determines the current date.)

 

Previous Chapter: Chapter 34 Span Tags


Next Chapter:  Chapter 36a - InDesign Plug-in for Online Template Builder