0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Excel VBA 時間が表示されるだけのデスクトップアプリを作る【2】

Posted at

時間をリアルタイム表示

前回に引き続き、Excel時計を作ります。
このページを参考に(というかほぼコピペ)して、表示されている時間を自動更新するようにしました。

UserForm_Initializeのプロシージャだとエラーが出たので、標準モジュールに更新のプロシージャを書きました。

Sub Tokei()

  Dim T As Date

  T = CDate(Format(Now() + TimeValue("00:01:00"), "hh:mm:00"))

  UserForm1.L_Time.Caption = Format(Now(), "hh:mm")
  Application.OnTime T, "Tokei"

End Sub

イベントプロシージャで、ブックを開いたときに最小化してユーザーフォームを表示させます。

Private Sub Workbook_Open() 'ブックを開いたら
  
  Tokei '時間をリアルタイム表示
  
  Application.WindowState = xlMinimized 'ウインドウを最小化
  UserForm1.Show vbModeless 'ユーザーフォームを立ち上げる
  
End Sub
Private Sub Label1_Click() 'Closeラベルをクリックしたら

  Application.DisplayAlerts = False '警告メッセージを無効化
  UserForm1.Hide  'ユーザーフォームを閉じる
  ThisWorkbook.Save 'ブックを上書き保存
  Application.DisplayAlerts = True '警告メッセージを有効化
  Application.Quit 'これがないとガワが残る
                  ' Closeメソッドは余計だった
  
End Sub

デスクトップに保存して、開くとデスクトップ上には時間が表示されているユーザーフォームのみがある状態になります。

デスクトップ2.png

時間の真下のCloseをクリックしてアプリケーション終了

デスクトップ.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?