ExcelVBA技
ユーザーフォーム
E13U007
E13U007 (Excel2000~2013)
ユーザーフォームに現在時刻を表示する
ユーザーフォームに現在時刻を表示する kPresentTime関数 を示します。
'標準モジュール Option Explicit Option Private Module 'kPresentTime関数 'UserForm上に現在時刻を表示する '引数 uf:UserForm ctl:表示するコントロール fmt:表示フォーマット '使用例: UserFormにLabel1を準備しActivateイベントで次行を記述 ' kPresentTime Me, Label1 Function kPresentTime(uf As Object, ctl As Object, Optional fmt$ = "yyyy/mm/dd hh:mm:ss") _ As Boolean pPresentOnTime uf, ctl, fmt End Function Private Sub pPresentOnTime(Optional uf0 As Object, Optional ctl0 As Object, Optional fmt0$) Static uf As Object, ctl As Object, fmt$ If Not uf0 Is Nothing Then Set uf = uf0: Set ctl = ctl0: fmt = fmt0 End If If TypeName(uf) = "UserForm" Then Set uf = Nothing: Set ctl = Nothing: fmt = "" Exit Sub End If If ctl Is Nothing Then Exit Sub ctl = Format(Now, fmt) Application.OnTime Now + TimeValue("00:00:01"), "pPresentOnTime" End Sub
'フォ-ム モジュ-ル Option Explicit 'Label1を配置 Private Sub UserForm_Activate() 'kPresentTime関数の使用例 Label1を配置 kPresentTime Me, Label1, "ge.m.d(aaa) hh:mm:ss" End Sub