変数のスコープ(有効範囲)を設定したいけど,今回はなぜだか出来なかった


計画している事は単一文書上での処理となるから,dispatcher と document は大域変数にして,サブルーチン作成を楽にしたい.

変数の適用範囲

SUB または FUNCTION 内に定義される変数であり、手続きが完了するまでの間だけ有効です。 これは「ローカル」変数です。 多くの場合、すべての手続き内、すべてのライブラリの各モジュール内、または SUB や FUNCTION が完了したあとで、変数を有効にしておく必要があります。

SUB や FUNCTION 外部での変数宣言
GLOBAL VarName As TYPENAME
こうして宣言した変数は、OpenOffice.org セッションの終了時まで有効となります。
PUBLIC VarName As TYPENAME
こうして宣言した変数は、すべてのモジュールで有効となります。
PRIVATE VarName As TYPENAME
こうして宣言した変数は、該当モジュールの内部だけで有効となります。
DIM VarName As TYPENAME
こうして宣言した変数は、該当モジュールの内部だけで有効となります。

GLOBAL では規模が大きすぎる.PUBLIC が適当だろう.

public document   as object
public dispatcher as object

不正解らしい.構文エラー発生.「プロシージャー内では許可されません」とか訳分かんない.ちょっと面倒だが dim で我慢する.