日付・時刻形式の書式に変換した値を返す(FormatDateTime関数)|Excel VBA |
FormatDateTime関数関数は、コントロールパネルの[地域のプロパティ]の[日付]および[時刻]タブで設定されている書式を使って、日付形式か時刻形式の文字列を返します。引数NamedFormatには、次の一覧に示す定数を使用します。
構文 FormatDateTime(Expression, NamedFormat)
設定項目 | 内容 |
---|---|
Expression | 変換の対象となる日付や時刻を指定[省略不可] |
NamedFormat | 変換に用いる書式を示す定数を指定[省略可能] |
引数NamedFormatで指定する引数一覧(VbDateTimeFormat列挙体のメンバ)
定数 | 値 | 説明 |
---|---|---|
vbGeneralDate | 0 | 日付か時刻、または両方を表示。日付部がある場合は、日付を短い形式で表示する。時刻部がある場合は、時刻を長い形式で表示する。両方がある場合は、両方とも表示する。 |
vbLongDate | 1 | [地域のプロパティ] で指定されている長い形式で日付を表示する。 |
vbShortDate | 2 | [地域のプロパティ] で指定されている短い形式で日付を表示する。 |
vbLongTime | 3 | [地域のプロパティ] で指定されている形式で時刻を表示する。 |
vbShortTime | 4 | 24 時間形式 (hh:mm) で時刻を表示する。 |
次のサンプルは、FormatDateTime関数と同等の機能をFormat関数で実現できることを示すものです。
Sub Sample1()
Dim myStr1 As String, myStr2 As String
'---Format関数で定義済み数値書式を使用
myStr1 = Format(#6/10/2012 3:30:45 AM#, "General Date")
'---FormatDateTime関数
myStr2 = FormatDateTime(#6/10/2012 3:30:45 AM#, vbGeneralDate)
MsgBox "定義済み数値書式 : " & myStr1 & vbCrLf & _
"FormatDateTime関数 : " & myStr2
End Sub