パソコン悪戦苦闘記録

【Wordマクロの小技】Word文書の所定の箇所に、現在の時刻を自動入力

昨日、2018年11月18日は、
   「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の本)
マクロ実践サンプル集
技術評論社


では、また。
名前:
コメント:

※文字化け等の原因になりますので顔文字の投稿はお控えください。

コメント利用規約に同意の上コメント投稿を行ってください。

 

  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最近の「VBAプログラミング・マクロ」カテゴリーもっと見る

最近の記事
バックナンバー
人気記事