#12_2 時間に関する情報の取得
細かい時間情報を整数で取得する方法
前回は現在のシステム日付やシステム時刻を取得するDate関数、Time関数、そしてNow関数を学びました。今回はその続きとして、日付を「年」「月」「日」、時刻を「時」「分」「秒」で取得する関数を勉強します。また、応用として「曜日」を取得する関数も紹介したいと思います。
日付を整数で取得する方法
それではまず日付を「年」「月」「日」の単位で取得する関数を勉強します。日付から「年」を西暦で取得するのはYear関数、「月」を1から12の整数で取得するのはMonth関数、そして「日」を1から31の整数で取得するのはDay関数です。
それぞれの使い方を以下の例で確認してください。引数にはDate関数、あるいはNow関数を指定してください。



時刻を整数で取得する方法
次に時刻を「時」「分」「秒」の単位で取得する関数を勉強します。時刻から「時」を0から23の整数で取得するのはYear関数、「分」を0から59の整数で取得するのはMinute関数、そして「秒」を0から59の整数で取得するのはSecond関数です。
それぞれの使い方を以下の例で確認してください。引数にはTime関数、あるいはNow関数を指定してください。



(応用)曜日を取得する方法
この節の最後に、1から7の数値から曜日を取得するWeekdayName関数を紹介します。この関数には複数の引数を指定することもできます。
WeekdayName(数値〔, 曜日名の省略〔, 開始曜日〕〕)
第2、第3引数ともに省略可能なのですが、「曜日名の省略」にはTrue/Falseを指定できます(標準ではFalseになっています)。また、「開始曜日」には週初めの曜日を指定できますが、省略すると日曜日(値は1)になります。
一応開始曜日の定数を下に示しておきます。



定数 | 値 | 対応する曜日 |
---|---|---|
vbSunday | 1 | 日曜(既定値) |
vbMonday | 2 | 月曜 |
vbTuesDay | 3 | 火曜 |
vbWednesDay | 4 | 水曜 |
vbThursDay | 5 | 木曜 |
vbFriDay | 6 | 金曜 |
vbSaturDay | 7 | 土曜 |
WeekdayName関数を用いた応用例として、「今日から47日後が何曜日か」を取得するマクロを見てみましょう。