Microsoft Word Visual Basic リファレンス |
自動実行マクロ
マクロに特殊な名前を付けると、Word を起動したり、文書を開いたりする操作を行う場合、自動的にそのマクロを実行できるようになります。Word では、次の名前を使って、自動実行マクロを作成することができます。
マクロ名 | マクロが実行されるとき |
---|---|
AutoExec | Word を起動するとき、または全文書対象のテンプレートを読み込むとき |
AutoNew | 文書を新しく作成するとき |
AutoOpen | 既存の文書を開くとき |
AutoClose | 作業中の文書を閉じるとき |
AutoExit | Word を終了するとき、または全文書対象のテンプレートの読み込みを解除するとき |
標準モジュールの中の自動実行マクロは、次のいずれかの条件が満たされる場合に認識されます。
- 標準モジュールに自動実行マクロの名前 (たとえば AutoExec) を指定し、"Main" という名前のプロシージャを記述した場合
- 任意の標準モジュール内のプロシージャに自動実行マクロの名前を指定した場合
通常のマクロと同じように、自動実行マクロも標準テンプレート、他のテンプレート、または文書のいずれかに保存することができます。自動実行マクロを実行するには、マクロを標準テンプレート、作業中の文書、または作業中の文書が元にしているテンプレートに設定する必要があります。ただし、AutoExec マクロの場合は、標準テンプレート、[テンプレートとアドイン] ダイアログ ボックスを使用して全文書を対象に読み込まれるテンプレート、またはスタートアップ フォルダとして指定されているフォルダにある全文書対象のテンプレートに保存しないと、自動的に実行されません。
マクロ名が重複する場合 (同じ名前の自動実行マクロが複数設定されている場合)、最も近いコンテキストに保存されている自動実行マクロが実行されます。たとえば、文書および添付されているテンプレートに AutoClose マクロを設定した場合、その文書に保存されている自動実行マクロだけが実行されます。また、AutoNew マクロを標準テンプレートに設定した場合、文書または添付されているテンプレートに AutoNew という名前のマクロが存在しないときには、標準テンプレートに設定した AutoNew マクロが実行されます。
メモ Shift キーを押し続けることで、自動実行マクロが実行されないようにすることができます。たとえば、AutoNew マクロを含むテンプレートを使って文書を新しく作成する場合、Shift キーを押しながら、[ファイル] メニューで [新規] ダイアログ ボックスの [OK] をクリックし、新しい文書が画面に表示されるまで Shift キーを押し続けると、AutoNew マクロは実行されません。自動実行マクロのトリガ (きっかけ) となるマクロで次のコードを記述すると、自動実行マクロが実行されないようにできます。
WordBasic.DisableAutoMacros