
No.1ベストアンサー
- 回答日時:
タイマーコントロールを使用してみてはいかがでしょうか。
例えば、1分おきにタイマーイベントを発生させて内部でカウントをとる。
そのカウンターが一定以上になるとプログラム終了。
キー操作など他のイベントが発生したときは、そのカウンターをリセットする。
これでできると思いますが、いかがでしょう。
No.6
- 回答日時:
tinu2000さんの手法を使うのなら、
むしろTimer関数を使ったほうがいいかと思います。
ただ、日をまたがった場合の処理はそれほど難しいとは思いませんが、
No.1での回答ならば
日をまたがることを考慮しなくても良い上に
タイマーインターバルの制限もないので
私はNo.1の手法で十分なのではないかと思います。
No.5
- 回答日時:
この質問にまだ回答を締め切っていないけど
具体的なソースを待っているのかな?
単純なソースを作りました。
フォーム上にコマンドボタン、テキストボックス、
タイマーを貼り付けて以下のソースでテストして下さい。
日付が変わったら、フォーカスがタブキーで移ったら、などの細かい条件は入っていません。
後はこれの応用です。
Option Explicit
Dim hh As Long
Dim mm As Long
Dim dd As Long
Dim sttime As Long
Dim edtime As Long
Private Sub Form_Load()
hh = Hour(Time)
mm = Minute(Time)
dd = Second(Time)
sttime = hh * 3600 + mm * 60 + dd
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
hh = Hour(Time)
mm = Minute(Time)
dd = Second(Time)
sttime = hh * 3600 + mm * 60 + dd
End Sub
Private Sub Text1_Change()
hh = Hour(Time)
mm = Minute(Time)
dd = Second(Time)
sttime = hh * 3600 + mm * 60 + dd
End Sub
Private Sub Timer1_Timer()
hh = Hour(Time)
mm = Minute(Time)
dd = Second(Time)
edtime = hh * 3600 + mm * 60 + dd
If edtime - sttime > 10 Then '--- 10 秒後に終了
Unload Me
End
End If
End Sub
No.4
- 回答日時:
グローバル変数に監視開始時刻を設定し、タイマコントロールで一定時間ごとに監視開始時時刻からの経過時間をチェックする様にしては如何でしょうか?
監視開始時刻をキー操作やマウス操作がされる度に設定しなおしてやればタイマーインターバルの制限を気にする必要は無いと思います。時刻はマシン時間で十分です。
申し訳ありませんが、今、手元にVBが使用出来るPCが無いのでコードはご自分で考えてみてください。
No.3
- 回答日時:
Intervalプロパティの最大値は65,535なので
you-mさんのやりかたでは1分そこそこの未操作で終了してしまうと思うのですが…
けどまあ、mk_jmcさんの要望が1分で十分ならそれでもいいですね(^^)
Timer1.Enabled = False
Timer1.Enabled = True
でリセットされるのは知りませんでした。参考になります。
No.2
- 回答日時:
タイマーイベント内に、自身を終了するコードを書きます。
Intervalプロパティには、「一定時間」に相当する時間をミリ秒単位で設定します。そして、ボタンのクリックイベントなど操作と認めるイベント内で、タイマーリセット用のプロシージャを呼びます。
Sub TimerReset()
Timer1.Enable = False
Timer1.Enable = True
End Sub
こんな感じでどうでしょうかね?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
VBA=一定時間エクセルの入力操作がない場合、自動的にそのブックを閉じたい
Windows Vista・XP
-
Access 無操作の場合、自動で閉じたいです。
Access(アクセス)
-
一定時間操作がなかったら、というプログラムは??
C言語・C++・C#
-
-
4
VB.NETでフォーム上にExcelのような表を表示する方法
Visual Basic(VBA)
-
5
DataGridViewの内容をDBに反映する時
Visual Basic(VBA)
-
6
DataGridViewの、選択されている行を取り出したい
Visual Basic(VBA)
-
7
関数内の変数に<summary>コメントを付けたい
C言語・C++・C#
-
8
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のキーを押すまでループさ...
-
タブキー押下時のイベントをひ...
-
エクセルVBAのテキストボック、...
-
【VB】タブ切り替え時のイベント
-
VB.NETでフォームがない...
-
(VBA)チェックボックスのclick...
-
KEYPREVIEW=TRUEについて。意味...
-
VBでイベント処理を追加する...
-
Excel VBA マクロ実行中のみテンキ...
-
DephiでのTextボックスでの数値...
-
VB.NETのDropDownListをReadOnl...
-
DateTimePickerをEnterキーでDr...
-
キーバッファについての質問
-
NULLで検索を行ったときは全件...
-
コマンドボタン(入力)をクリッ...
-
Delphiコンボボックスの先頭に...
-
イベントハンドラが取得できな...
-
キーイベントを擬似的に発生さ...
-
一定時間操作されないと自動で...
-
「ご処理進めて頂きますようお...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【VB】タブ切り替え時のイベント
-
タブキー押下時のイベントをひ...
-
Visual Basic 6.0 コンボボック...
-
Access データ表示 完了時のイ...
-
VB.NETのDropDownListをReadOnl...
-
KEYPREVIEW=TRUEについて。意味...
-
テキストボックスの入力文字を1...
-
(VBA)チェックボックスのclick...
-
Excel VBA マクロ実行中のみテンキ...
-
特定のキーを押すまでループさ...
-
VB.NETでフォームがない...
-
コンボボックスにキー入力をさ...
-
キーイベントを擬似的に発生さ...
-
IEで、BackSpaceで「戻る」機能...
-
フォーカスについてお教えください
-
VB6で電卓を作っているのですが...
-
VB IEブラウザへのキーイベント...
-
一定時間操作されないと自動で...
-
GetKeyStateについて
-
WPFでの時刻入力コントロールに...
おすすめ情報