• ベストアンサー

VBA 指定時間で実行

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

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答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

  • VBAを時間指定で自動実行

    就業時間内(9時~6時)でエクセルVBAを指定時間に自動実行させたいです。 エクセルはパソコン起動した朝に、開いておきます。(バックグラウンド) 指定時間になったらVBAを自動実行させたいのです。 指定時間は例えば、 10時11分 10時16分 10時21分 などです。最初の時間から5分間隔で実行。 こういう事はできるのでしょうか?VBAでできるのか? それ以外の方法があるのか?よくわかりません。 詳しく教えてください。

  • マクロを指定時間に自動で実行させるのは

    よろしくお願い致します。 マクロを指定した時間に自動的に実行させることは 可能でありますか? 別件ですが あるマクロを実行させていろいろ計算を させて その結果を別のブックを作って名前をつけて 保存してそのブックは自動的に閉じさせています。 さらに大元のマクロがあるブックも 自動的に 終了(閉じる)させることは可能でしょうか? 文章がつたなくて申し訳ないですが よろしくお願いします。

  • エクセル時間毎ごとにマクロを実行するやり方。

     初めまして、よろしくお願いします。より正確な指定時間毎にマクロを実行させるやり方を考えています。  1分毎ごとにマクロを実行する nextTime = Now() + TimeValue("00:01:00") Application.OnTime nextTime, "時間毎ごとに実行" というやり方は解るのですが、 Application.OnTime TimeValue("09:00:00"), "時間毎ごとに実行"  この指定時間("09:00:00")に実行するマクロを利用し ("09:01:00")、("09:02:00")、("09:03:00")、("09:04:00")、("09:05:00"),・・・・・の時間、秒が00になると("hh:ss:00")マクロを実行されるやり方は有るのでしょうか。  もし有るのでしたら、よろしくお願いします。

  • AccessVBAで実行時間を指定するには

    よろしくお願いします。 VBAで指定した時間に処理(関数)を呼び出すという事がしたくて色々調べていたらApplication.Ontime というやつでなんとかできそうだとメドが立った ・・・つもりでいたのですが、どうやらこれはExcelの機能のようでした。 参照設定でエクセルのオブジェクトライブラリをチェックしたらAccessVBAで  >Excel.Application.Ontime 待ち時間, コマンドA と記述することでひとまず実行予約的な事まではできたのですが、 指定時間になると「コマンドAが見つかりません」 というエラーメッセージが出てしまいます。 おそらくエクセルのマクロを実行しようとして「見つからない」と言われているのでは無いかと考えています。 長くなりましたが質問は、上記のようなコードで、Accessのマクロ(関数)を呼び出すにはどうすれば良いのでしょうか? よろしくお願いします。 上記の前提が勘違いの場合は併せてご指摘頂ければ幸いです。

  • 一定時間でマクロを実行

    TEST1.xlsの”data”シート(で入力された内容)を、30分ごとにTEST2.xlsの"data"シートにコピーすることは可能でしょうか? そのあとに、Call マクロ1 みたいな感じで、別のソースを実行したいのですが。 よろしくお願い致します。エクセルは2010です。

  • マクロと次のマクロ実行の間の時間を指定

    EXCELで、マクロを使ってSHEET1にワードアートを挿入し、 10秒経ってから(挿入した文字を読むための時間) SHEET2に別のワードアートを挿入したいと思っています。 SHEET1にワードアートを挿入するマクロ(マクロ1)の実行から SHEET2にワードアートを挿入するマクロ(マクロ2)実行までの 時間を指定するにはこの2つをどうつなげて記述すればよいでしょうか?

  • マクロの同時実行

    3種類のマクロが一つのworkbookにあるとします。(下記参照) ---------------- Sub 総合() Call test1 Call test2 Call test3 End Sub ---------------- Sub test1() プログラム End Sub ---------------- Sub test2() プログラム End Sub ---------------- Sub test3() プログラム End Sub ---------------- このようにするとtest1→test2→test3の順番で実行されます。 これを同時に実行させたいのですがどうゆうふうに作成すればよいですか? よろしくお願いします。

  • フォルダ内のファイルに順番にマクロ実行(VBA)

    こんにちは。 いつもこのサイトにはお世話になっています。  いま、WORDマクロで、あるプログラムを作成したのですが、現在の状態だと、ファイルにマクロを実行させたい場合、そのファイルを開いてマクロを実行するしかありません。  そうではなくて、指定されたフォルダの中にあるファイルのうち、rtf拡張子で終わっているものに順番に自動的にマクロを実行するというようなプログラムは書けないのでしょうか。  プログラムのなかに、ファイルのパスを指定してそのファイルに実行する方法は分かったのですが、フォルダだけ指定しておいて(というよりユーザにテキストボックスで指定させて)、そのフォルダに入っているrtfファイルすべてにマクロを実行する方法はありますでしょうか?    もしありましたら教えていただいたいと思い投稿しました。よろしくお願いします。

  • エクセルVBAマクロの実行について

    おはようございます。 アドインで、マクロを実行するコードを作りました。 指定したシート以外ではマクロを実行できないようにしたいのですが、 コードの書き方がわかりません。教えていただけませんか?

  • Excel VBA サブルーチン関連

    複数のマクロが標準モジュールに書かれているとします。(例:Module1~Module10) このモジュールを順番に実行するマクロを作成したいのですが、モジュールの名前を指定してサブルーチンコールは出来ないようです。 全部のモジュールを数珠つなぎにして1つのモジュールにまとめる方法は気が進みません。 モジュールの名前を指定してサブルーチンコールするようなスマートな方法はないでしょうか?

専門家に質問してみよう