【Word VBA】日本語の日付を英語の日付に変換するWordマクロ

2011年10月29日

最近は近況報告が多くなってしまいましたが、久しぶりにマクロをご紹介します。

今回ご紹介するのは、日本語の日付を英語の日付に変換するマクロです。

このマクロでできること

年月日を変換します。

2011年10月29日 → October 29, 2011

マクロの解説

以下の手順で変換します。

  1. ワイルドカードをもちいて、日本語表記の日付を探します。
  2. 見つかった場合、Format関数を用いて、英語の日付に変換します。
  3. 次の日本語の日付を探します。

ワイルドカードでは、以下のように、半角・全角数字のいずれの場合でも探せるようにしてあります。

[0-90-9]{4}[0-90-9]{1,2}[0-90-9]{1,2}4桁数字1桁か2桁の数字1桁か2桁の数字

という意味です。

変換した日付は、黄色の蛍光ペンで着色します。

一括置換の場合には、見直しをしやすくするように、蛍光ペンなどで印を付けるのがよいと思います。

表示の変換はFormat関数を用いました。

この関数を以下のように用いています。

年月日

Format(日付のデータ, "mmmm d, yyyy")

関数で使われる文字の組み合わせは、インターネット上にたくさん記事がありますからご参照ください。

例えば、以下の記事に詳しく記載があります。

OfficeProさんの記事

マクロ


Sub 日付変換()

  Dim myRange As Range

  Set myRange = ActiveDocument.Range(0, 0)

  With myRange.Find
    .Text = "[0-90-9]{4}年[0-90-9]{1,2}月[0-90-9]{1,2}日"
    .Forward = True
    .Wrap = wdFindStop
    .MatchWildcards = True
  End With

  Do While myRange.Find.Execute = True
   With myRange
    .HighlightColorIndex = wdYellow
    .Text = Format(.Text, "mmmm d, yyyy")
    .Collapse direction:=wdCollapseEnd
   End With
  Loop

End Sub

関連記事

-コード
-, , ,