プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (5件)

たとえば、こんなことか。


下記は、1度testを実行すると、15秒たつとtest1を実行し、以後10秒ごとにtest2を実行するというもの。
test1もtest2も単にmsgboxを表示するだけ。

Dim gotime1, gotime2
Sub test()

gotime1 = Time + TimeValue("00:00:15")
gotime2 = gotime1
Application.OnTime gotime1, "test1"
gotime2 = gotime2 + TimeValue("00:00:10")

While gotime2 < gotime1 + TimeValue("00:01:00")
Application.OnTime gotime2, "test2"
gotime2 = gotime2 + TimeValue("00:00:10")
Debug.Print gotime1, gotime2
Wend
MsgBox "start " & Time
End Sub

Sub test1()
MsgBox "test1 " & Time
End Sub

Sub test2()
If Time >= gotime1 + TimeValue("00:01:00") Then
MsgBox "end " & Time
Else
MsgBox "test2 " & Time
End If
End Sub
    • good
    • 0
この回答へのお礼

タスクでパソコン起動時に実行させているのですが、
以後、5分とか10分ごとにVBAを起動させる方法がよくわかりませんでした。
なんとか、これでいけそうな気がします。
ありがとうございます。
今、作っているVBAはとても難しいので、また質問させてもらうかも知れませんが、その際には、よろしくお願いします。

お礼日時:2009/07/29 08:24

質問者はVBAがどれだけの技量かわからないが、VBAでも上級の課題で、自分で色々調べて勉強してやってください。


Googleで「on time VBA」「Timer VBA」などで調べること。
ーー
時間指定で起動をかける、既製のソフトを探しては、どうでしょう。
Googleで「時間指定 起動 ソフト」「時間間隔 指定 起動 ソフト」で照会。
ーー
普通は質問のようなことしません。
    • good
    • 0
この回答へのお礼

勉強してやらなくては。。。と思っているのですが、
自分の正規の仕事以外の仕事で上司命令でやっているので、
勉強する時間がなかなかできません。
OKWaveは、その様な人のためにもあるサイトですよね?
タスクでVBAを起動させることはすでにやっているのですが、一定間隔でどの様にやればいいのか?がよくわかりませんでした。
質問の様な事はしませんと言われましたが、業務で行っているこちらの会社は普通じゃないのでしょうか?

お礼日時:2009/07/29 08:29

VBAのプログラムが稼動し続けることが条件なので、「VBAの操作」で


対応するのは得策ではありません。
実行するVBAの処理ですが、どんな内容でしょう?
つまり、継続性が重要かどうかです。手動で実行する場合に、毎回
エクセルを閉じても問題ないですか?以前の実行状況を変数に保持
しているとなると、閉じられませんよね。
この条件によって、解決方法も変わります。

この回答への補足

ブラウザのフォームに各支店・営業マンに指示を送付するVBAになります。エクセルのシートに記載してある文章を、一定時間にフォームへ書き込むVBAです。現在、パソコン起動時(就業開始時)に自動実行(タスクで実行しています)、それ以外は事務の人がフォームに入力して指示を出していますが、面倒なのでVBAで自動で一定時間の間隔を於いて
フォームに書き込みたいと思っています。
VBAを就業時間内(9時~6時)まで自動で動かしたいので、
バックグラウンドで開いておかないといけないと思っていましたが、
エクセルを閉じても、指定時間で自動で実行できるのでしょうか?

補足日時:2009/07/29 08:29
    • good
    • 0

こんにちは


OnTimeメソッドとか
    • good
    • 1

スタート→コンパネ→タスクで時間指定の起動が出来ます。

    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!