Use statement (LotusScript® Language)

Loads a module containing Public definitions needed by the module being compiled.


Use useScript



A String literal, or a constant containing a String value, specifying the module to load.

The IBM® software application that you're using determines whether useScript must be compiled before use. Consult the product documentation for more information.


The Use statement can appear only at module level, before all implicit declarations within the module. Note that the Use statement is supported in Notes®.

Loading a used module

Whenever LotusScript® loads a module that contains a Use statement, LotusScript® executes the Use statement before initializing the module and executing the module's Initialize sub, if the module contains one.

Referring to Public names in a used module

A used module remains loaded until it is explicitly unloaded. When a module is unloaded, references to Public names defined in that module become invalid and result in run-time errors.

Declaring Public names

A module's Public names are not visible to other modules until the first module is used. Multiple Public definitions for the same name cannot be loaded at the same time.

Using modules is transitive: if module A uses module B, and B uses C, then the Public names in C are visible in A.

Use statements must not contain circular references at compile time. If A uses B, then B, or any module that B uses by transitivity, cannot use A.