プロが教えるわが家の防犯対策術!

ユーザーフォームのラベルに時間を表示させてずっと時間がちゃんと動くような方法はありますか?コード書いていただけると助かります

A 回答 (1件)

こんにちは



仮にフォームがUserForm1、ラベルがLabel1とするなら、標準モジュールに

Private flag As Boolean

Sub timeDisp()
UserForm1.Label1.Caption = Format(Now, "hh:mm:ss")
DoEvents
If flag Then
Application.OnTime Now() + 1 / 86400, "timeDisp"
End If
End Sub

Sub timeStop()
flag = False
End Sub

のようなものを用意しておいて、
・フォーム表示時にflag=TrueにしてフォームをShow
・フォームのInitializeイベントでtimeDispを呼び出し
することで、時刻が表示(更新)されるようになります。

ただし、そのままではずっと更新され続けますので、
・QueryCloseイベントで、timeStopを実行するなどが必要となります。
    • good
    • 2

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A