• ベストアンサー

VBA 指定時間で実行

あるマクロを指定時間で実行するのは可能でしょうか? Call TEST と呼び出す方法はあるのでしょうか?もしないとしたら、ほかに方法はありますでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

VBAからだと、 sub macro1() application.ontime now + timeserial(0, 0, 10), "TEST" end sub sub TEST() msgbox "DONE" end sub といった組み立てで出来ます。 もっとも実際には、どういうレベルでそれをしたいのかによっても、色々準備が必要です。 たとえばまず、VBAでタイマー動作を実現するためには、その時刻にアプリケーションが「起動している」必要があります。 ソフトとか何も動かしてないときでも唐突にマクロが動き出すような事を期待してるのでしたら、タスクスケジューラなどを使ってウィンドウズに予約をしておくような細工が必要です。 この場合だとわざわざontimeを使うんじゃなく、ファイルを開いた時に自動で起動するマクロを仕込んで利用したほうが確実で簡単です。 あるいはそもそもパソコンが起動してなきゃ勿論ダメです。 問答無用でパソコンを起動させてでも実現したいというお話だったなら、BIOSからパソコンの起動時刻を予約できるような仕組みを備えたパソコンを準備するような事をします。

yuu1236
質問者

お礼

遅れて申し訳ありませんでした。ありがとうございます!

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • eden3616
  • ベストアンサー率65% (267/405)
回答No.3

OnTimeメソッドを使用すれば指定した時刻での実行が出来ます。 その間エクセルを起動したままにする必要がありますが。 http://www.moug.net/tech/exvba/0130013.html

yuu1236
質問者

お礼

遅れて申し訳ありませんでした。ありがとうございます!

すると、全ての回答が全文表示されます。
  • pringlez
  • ベストアンサー率36% (598/1630)
回答No.1

やりたい処理をVBSで作ってタスクスケジューラーに登録する。 何をしたいかによりますが、ExcelVBAで出来ることなら、VBSだけでもできる事が多いですよ。

すると、全ての回答が全文表示されます。

関連するQ&A