'システム年月日を取得 Debug.Print Date
'システム時分秒を取得 Debug.Print Time
'システム年月日時分秒を取得 Debug.Print Now
PCのシステム日付および時刻データを取得するには、それぞれの必要な範囲で関数が複数あります
年月日だけの取得には「Date」、時分秒だけの取得には「Time」、年月日時分秒の全てを取得するのが「Now」です
全て関数で戻り値を取得しますが、引数がないため「()」は使用しません
入力しても消えます
ExcelVBAで主に使用するのはDateで、ワークシート関数でいうところのToday関数と同じ役割です
ユーザーフォームの日付入力ボックスに初期値として、本日日付を取得させたり
処理の実行を日付限定で行う際の判断基準となったりします
「Format」関数と組み合わせることで、和暦の表示も可能です
(和暦の取得方法はこちらの記事へ)
時分秒に関しては、操作履歴を記入する際に添付したり
新しいブックの保存名に使用することで、確実にかぶらないブック名にしたりすることもできます
秒まで取得できるので、ユーザーフォームに秒がリアルタイムで更新されて表示されるデジタル時計を作ってみたくなります
実際作りました、「DoEvents」関数と「Wait」メソッドを併用してCPUに負荷をかけずに無限ループさせてみました
問題なく時計になりましたが、やはりVBAは無限ループによる並行処理が苦手です
システム作成上、かならずどこかで無理がたたります
結果、やっぱり思ったのはデジタル時計って自己満足でしかありませんでした
だってPCに時計あるしね、普通に
時間もそこから取得してるので、別に高精度の時計になるわけでもなかった
でもやりたなるよね~、デジタル時計って