【コード】和暦を西暦に英訳するWordマクロ

以前から日付の変換用のマクロをいくつか紹介してきました。

今回は、セミナーの受講生の方(日英翻訳者)からの要望にお応えするマクロを紹介します。

和暦の表示で日が書かれていない場合があります。年と月だけを訳したいとのことでした。確かにそういうケースはありますね。

このマクロでできること

(マクロの実行前)

(マクロの実行後)

日付が入っていない場合に限り書き換えます。

マクロの解説

おなじみのワイルドカードを使って和暦を検索します。以下の表記は便利なのでぜひコピペで使ってみてください。

[明大昭平][治正和成][0-90-9元]{1,2}年[0-90-9]{1,2}月[0-90-9]{1,2}日

これをワイルドカードの検索に使い、Do… Loopステートメント にて処理をします。

マクロ


Sub 和暦を西暦で英訳する()

 Dim myRange As Range
 
 Set myRange = ActiveDocument.Range(0, 0)
 
 With myRange.Find
  .Text = "[明大昭平][治正和成][0-90-9元]{1,2}年[0-90-9]{1,2}月[!0-90-9]"
  .Forward = True
  .Wrap = wdFindStop
  .Format = False
  .MatchCase = False
  .MatchWholeWord = False
  .MatchByte = False
  .MatchAllWordForms = False
  .MatchSoundsLike = False
  .MatchFuzzy = False
  .MatchWildcards = True
  Do While .Execute = True
   With myRange
    .End = .End - 1
    .Text = Format(.Text, "mmmm, yyyy")
    .HighlightColorIndex = wdBrightGreen
    .Collapse wdCollapseEnd
   End With
  Loop
 End With

 Set myRange = Nothing
 
End Sub

トップへ戻る