公開日:
Now 関数で分までの日付文字列を作るサンプルコード【VBA】
VBAでNow 関数を使うと、現在の日付の文字列を取得することができます。以下にNow 関数を使ったコードの例を示します。
Public Sub test()
nowStr = Now
MsgBox (nowStr)
End Sub
nowStr = Now
MsgBox (nowStr)
End Sub
このコードを実行すると、以下のように表示されます。
これは、「YYYY/MM/DD hh:mm:ss」という形式の文字列です。
Yは年、Mは月、Dは日です。hは時間、mは分、sは秒です。
ここで、日付文字列を「YYYY-MM-DD hh:mm」という形式で取得したいとします。この形式は、スラッシュではなくハイフンを用い、秒を省略した形式です。
以下にサンプルコードを示します。
[サンプルコード]
Public Sub makeDateStr()
nowStr = Now
dateStr = Format(nowStr, "yyyy-MM-dd")
timeStr = Format(nowStr, "hh:mm")
completedStr = dateStr + " " + timeStr
MsgBox (completedStr)
End Sub
nowStr = Now
dateStr = Format(nowStr, "yyyy-MM-dd")
timeStr = Format(nowStr, "hh:mm")
completedStr = dateStr + " " + timeStr
MsgBox (completedStr)
End Sub
サンプルコードを実行すると、以下のように表示されます。
期待通りの結果となりました。
まとめ:Now 関数を使って、現在の時刻を取得することができました。Format 関数で、日付文字列の形式を変更することができました。
私は先日、VBAで、あるちょっとしたツールを作っていました。そのツールを最後に使用した時刻を、ファイルに記録できるようにしようと考えました。しかし、日付はハイフンで区切りたくて、また、秒は不要でした。そのため、この記事のようにFormat 関数を利用して形式を変更しました。VBAを使っていると「現在時刻を取得したい」ということがけっこうあるので、Now 関数は便利だと感じました。
ad: