サブルーチンは、呼び出し元に値を返さずに 1 つ以上の操作を実行する名前付きのプロシージャです。サブルーチンは、ブロックとして実行される 1 つ以上のステートメントを指定して定義し、これらのステートメントをサブルーチンの先頭部と End Sub ステートメントで囲みます。サブルーチンに値を代入するステートメントを含めることはできません。
サブルーチンの先頭部は、サブルーチン名、スコープ、サブルーチンがアプリケーションから渡される値があればその値の種類、サブルーチンが定義する変数があればその変数の存続期間を指定します。
サブルーチンは、モジュールレベルで、またはユーザー定義クラスのメンバとして定義できます。サブルーチンを定義する前に宣言すると、そのサブルーチンを実際に定義しなくても、それを参照できます。Declare ステートメントを使用して、サブルーチンをユーザー定義のクラスのメンバとして、または統合開発環境 (IDE: Integrated Development Environment) をサポートしていない製品の中のモジュールレベルで明示的に宣言します。IDE は、モジュールレベルで定義した各サブルーチンの Declare ステートメントを自動的に生成するので、Declare ステートメントを含めないでください。
ユーザーが定義できる Sub Initialize、Sub Terminate、Sub New、Sub Delete の 4 つの特殊なサブルーチンについては、この章の後半の「特殊なサブルーチン」を参照してください。