LotusScript is an embedded, BASIC scripting language with a powerful set
of language extensions that enable object-oriented application development
within and across Lotus products. LotusScript allows you to place more
complex scripts in a greater variety of locations and events than traditional
macros. LotusScript and its development toolset provide a common
programming environment across Lotus applications on all platforms
supported by Lotus. It is available in:
Lotus Notes R4.0 and later
Approach 96 and later
Freelance Graphics 96 and later
Word Pro 96 and later
Lotus 1-2-3 97 and later
LotusScript offers a wide variety of features. Its interface to Lotus products
is through predefined object classes. The products oversee the compilation
and loading of user scripts and automatically include class definitions to
allow more efficient coding. LotusScript extends the development
capabilities of Lotus products by providing:
The ability to place scripts in a variety of objects and events in many
Lotus products. LotusScript has a set of extensions beyond Visual
Basic, that provide additional power and utility when writing
applications using Lotus products.
A debugger and syntax-directed editor.
Access to a broad range of product functions through the classes
defined for each product.
Access to external class libraries defined using the LSX Toolkit.
The environment in which you write, debug, and run scripts depends on
your Lotus product. To learn about your product’s programming
environment, see your product documentation.
Advantages of LotusScript
LotusScript offers the following advantages:
Superset of BASIC
Since LotusScript is a superset of the BASIC language, it is easy to learn,
especially for Visual Basic users. You can write sophisticated scripts
using conditions, branches, subroutines, while loops, and other
LotusScript is a multi-platform BASIC-like scripting language. It works
with platforms such as Windows, Macintosh, OS/2, UNIX, OS/390, and
AS400. Scripts developed on Windows execute unchanged on any other
supported platform. This portability is important as desktop applications
become workgroup-enabled and documents are e-mailed to or
shared by users.
Lotus products provide Object Classes that are available to LotusScript.
You can write scripts to access and manipulate these objects. The scripts
are event-driven, such as by an action, clicking the object or button,
opening a document, or opening a view.
Included in Lotus applications
LotusScript is supported by Lotus products, so these products can
access product classes using a product-supplied LotusScript extension.
You can use one language to write scripts in many different Lotus
Using LotusScript, Notes can be the perfect container for SmartSuite
documents and other OLE-enabled applications, such as Microsoft
Office. You can use external OLE 2.0 automation objects by scripting
them, such as 1-2-3 worksheet objects.
2 LotusScript Language Guide
Notes registers itself as an OLE automation server. External applications
can use these objects in scripts to create and reference them. LotusScript
can combine all the parts and provide the means for controlling and
Coexistence with @functions
Lotus continues to support @functions and LotusScript works well
Integrated Development Environment
The LotusScript Integrated Development Environment (IDE) provides
an interface to create, edit, and debug scripts, and to browse variables
and properties of classes. The IDE allows you to write more complex
scripts in Notes.
You can create function and class libraries in the language and reuse
them in other applications or Lotus products via the USE statement
Extendable through LotusScript Extensions (LSXs)
LotusScript allows users to create their own classes and objects, called
LotusScript extensions (LSXs). LotusScript classes support single
inheritance, constructors/destructors and method overriding. This
functionality allows users to take advantage of object-oriented
programming, and to rapidly prototype their own custom business
objects. For more information about LSXs, visit the Developer Central
Website at http://www.lotus-developer.com