「Word文書の所定の箇所に、今日の日付を自動入力」
の記事を書きました。Date関数の紹介でした。
今日は、その関連で、
「Word文書の所定の箇所に、現在の時刻を自動入力」
の記事を書きます。Time関数の紹介となります。
最初っから、答えを掲げます。
Sub Jikoku1()
ActiveDocument.Bookmarks("時刻").Range.InsertAfter Time
End Sub
たったのこれだけです。簡単でしょ。
上記コード中の「Time」とあるのは、現在の時刻を取得する関数です。
ですから、「時刻」という名前のブックマークに、「20:13:28」と入ります。
では、「20:13:28」では分かりにくいので、「20時13分」と表示させるにはどうしましょう。ここでもまた、Format関数を使います。
Bookmarks("時刻").Range.InsertAfter Format(Time,”hh時mm分”)
これが答えです。
さらに、24時間制ではなく、12時間制で表示させたいときは、どうしましょう。
「20時13分」を、「午後8時13分」に変える方法です。
その答えは、次のとおりです。
Sub Jikoku2()
Dim myJikoku As String
If Time >= 0.5 Then
myJikoku = "午後" & Format(Time - 0.5, "h時mm分")
Else
myJikoku = "午前" & Format(Time, "h時mm分")
End If
ActiveDocument.Bookmarks("時刻").Range.InsertAfter myJikoku
End Sub
上記コードを、少しだけ解説します。
WordやExcelでは、時刻は全て「シリアル値」という数値で格納されます。
24時間でシリアル値「1」となります。
つまり、シリアル値「0.5」は、「12時」に当たります。
そこで、Time関数で取得した数値が、「0.5」以上か、「0.5」未満かによって、午後と午前に分けることができるのです。
これさえ理解すれば、上記コードの解読ができます。
便利な小技だと思います。ぜひ、ご活用ください。
作って簡単・超便利! Wordのマクロ実践サンプル集 [Word2010/2007/2003/2002対応] (Wordで作ったWordの本) | |
マクロ実践サンプル集 | |
技術評論社 |
では、また。