次の方法で共有


Application.OnTime メソッド (Word)

指定された時刻にマクロを実行するバックグラウンド タイマーを起動します。

構文

expression. OnTime( _When_ , _Name_ , _Tolerance_ )

expression 必須です。 Application オブジェクトを表す変数を指定します。

パラメーター

名前 必須 / オプション データ型 説明
When 必須 バリアント型 (Variant) マクロを実行する時間を指定します。
Name 必須 String 実行するマクロの名前を指定します。
Tolerance 省略可能 バリアント型 (Variant) 引数 When に指定した時刻に実行されなかったマクロが取り消されるまでの時間の最大値を、秒単位で指定します。 マクロは指定した時刻に実行されないこともあります。 たとえば、並べ替え操作が実行中の場合や、ダイアログ ボックスが表示されている場合は、タスクが完了するまでマクロの実行が延期されます。 この引数に 0 (ゼロ) を指定した場合または省略した場合は、引数 When に指定した時刻からどれくらい時間が経過したかにかかわらず、マクロは実行されます。

注釈

When パラメーターには、時刻 (または など) を指定する文字列を指定できます。また、 "4:30 pm""16:30"TimeValueTimeSerial などの関数から返されるシリアル番号を指定することもできます (例: TimeValue("2:30 pm") または TimeSerial(14, 30, 00))。 日付 (や TimeValue("6/30 4:15 pm")など"6/30 4:15 pm") を含めることもできます。

Name パラメーターの場合は、完全なマクロ パスを使用して、正しいマクロが実行されていることを確認します (例: "Project.Module1.Macro1")。 マクロを実行するには、文書またはテンプレート利用できなければなりません した ontime メソッド の命令の実行時と When に指定した時刻に到着したときの両方です。 このため、Normal.dot または自動的に読み込まれている別のグローバル テンプレートにマクロを保存することをお勧めします。

TimeValue または TimeSerial 関数と Now 関数の戻り値の合計を使用すると、マクロを実行するには、ステートメントの実行後に指定した時間にタイマーを設定できます。 たとえば、5 分 30 秒ステートメントを実行した後にマクロを実行するのに Now+TimeValue("00:05:30")を使用します。

Word には、 ontime メソッド で設定する 1 つだけのバック グラウンド タイマーを保持できます。 既存のタイマーが実行される前に別のタイマーを起動すると、既存のタイマーがキャンセルされます。

次の使用例は、現在のモジュールの "Macro1" という名前のマクロを 3:55 P.M. に実行します。

Application.OnTime When:="15:55:00", Name:="Macro1"

次の使用例は、使用例を実行した時間から 15 秒後に "Macro1" という名前のマクロを実行します。 マクロの名前には、プロジェクトおよびモジュールの名前も含めます。

Application.OnTime When:=Now + TimeValue("00:00:15"), _ 
 Name:="Project1.Module1.Macro1"

次の使用例は、"Start" という名前のマクロを 1:30 P.M. に実行します。マクロの名前には、プロジェクトおよびモジュールの名前も含めます。

Application.OnTime When:=TimeValue("1:30 pm"), _ 
 Name:="VBAProj.Module1.Start"

関連項目

Application オブジェクト

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。