dポイントプレゼントキャンペーン実施中!

Excel2003を使用しております。

Excelを立ち上げると、まずグループと期間を選択し実行ボタンをクリックするとDBを参照して別シートを作成します。
別シートにはユーザーフォームでボタンをいくつか付けているのですが、その中に終了ボタンというのがあります。
終了ボタンの処理的はDBと新たに開いたシートを閉じ、1つ前の画面(グループと期間の選択画面)に戻るというものです。

DBを参照して作成したシートは値を書き込んで、実行ボタンを押すとDBにも書き込みを行うという仕組みで、終了した後も同一のグループと期間を指定すると前回書き込んだ値は残っているという形です。

そこで、5分程書き込みを行わずに(5分間操作せずに)シートを開いたままの時に、強制的に終了ボタンをクリックさせて1つ前の画面に戻らせたいのですが可能でしょうか?
DBが貧弱の為、1人に限定しているので担当者が開きっぱなしで食事等に行くと次の人が使えないという欠点があります。

5分間操作をしなかった場合、というのをどのような処理にすればいいのか分からないので教えてください。
宜しくお願いします。

A 回答 (1件)

手口は幾つか考えられますが、割と安直な手で。




もうちょっと具体的に、5分間「実行」ボタンをクリックしなかったら終了する:
例えばSheet1にCommandButton1、2で実行ボタン・終了ボタンが用意されているとして

シートモジュール:
dim TargetTime as date

private sub CommandButton1_Click()
 on error resume next
 application.ontime targettime, "Sheet1.macro1",, false
 targettime = now + timeserial(0,5,0)
 application.ontime targettime, "Sheet1.macro1"
 msgbox "Button Click"
end sub

private sub CommandButton2_Click()
 msgbox "QUIT BUTTON"
end sub


sub macro1()
 msgbox "left 5 min"
 CommandButton2_Click
end sub
    • good
    • 0

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