【Word VBA】カーソル以降の英単語に一括でtheを追加する

2012年1月13日

一括置換を用いた翻訳(上書き翻訳)での日英翻訳に便利なマクロです。

一括置換翻訳の支援ソフト「ぱらぱら」 を用いた後の、翻訳作業にてご活用ください。

※:この記事のマクロは、後日改良いたしました。以下の記事もあわせてご覧ください。

【コード】カーソル以降の英単語に一括でtheを追加する(その2)

このマクロでできること

選択されている語句が、その選択箇所以降に記載されている場合、その語句に"the "を追記します。

その際、theを追記した語句をすべて青文字にします。

(1)pen 20を選択してマクロを実行します。

実行前

(2)マクロの実行後です。

選択範囲以降のpen 20がthe pen 20になり、青文字になります。

実行後

マクロの解説

置換の範囲を、文書全体ではなく、カーソル位置以降とするため青文字のように設定しています。

.Forward = True
.Wrap = wdFindStop
.Execute Replace:=wdReplaceAll

.Forwardプロパティや.Wrapプロパティの解説は、以下の記事をご覧ください。

「検索と置換」ダイアログの検索方向とマクロとの関係

マクロ


Sub 一括the()

 Dim myText As String
 Dim myRange As Range

 Set myRange = Selection.Range

 '文字列をmyTextに格納
 myText = Trim(Selection.Text)

 '選択を解除して置換開始位置を選択した文字列の末尾へ
 myRange.Collapse direction:=wdCollapseEnd

 With myRange.Find
  .Text = myText
  .Replacement.Text = "the " & myText
  .Replacement.Font.ColorIndex = wdBlue
  .Forward = True
  .Wrap = wdFindStop
  .Execute Replace:=wdReplaceAll
 End With

 Set myRange = Nothing

 '選択を解除
 Selection.Collapse direction:=wdCollapseEnd

End Sub

コメント

  • 2. Re:お久しぶりです
    渡部/天衣無縫さん、

    おひさしぶりです。
    ご利用・コメントをどうもありがとうございました。

    >ところで、例えば今回ご紹介のケースですと、
    >選択範囲以降の「pen 20a」や「pen 200」や
    >「pen 20'」などにも「the」が付くと思われますが、
    >これについて何か対処法はありますか?

    現状では、青色によって判定をしていました。

    青色がついているので、200や20aの場合でも
    区別できます。

    ただ、今回いただいたコメントをもとに
    もう少しマクロを作り込んでみました。

    こちらをご覧ください。
    http://ameblo.jp/gidgeerock/entry-11136431005.html

    これである程度は対応できるのではないかと
    思います。

  • 1. お久しぶりです
    先月のマクロセミナー&忘年会以来、すっかりご無沙汰しております。

    このマクロは実に便利ですね。
    早速先ほどから使わせてもらっております!

    幸いというべきか、現在取りかかっている案件には大量の符号が出てくるので、既に大活躍していますw
    ショートカットキーを割り当てて使い込んでいるところです。
    私だけかもしれませんが、意外と「the」は打ち間違えることが多いので、今後も特に電機分野の案件では大活躍してくれるはず……。

    ところで、例えば今回ご紹介のケースですと、選択範囲以降の「pen 20a」や「pen 200」や「pen 20'」などにも「the」が付くと思われますが、これについて何か対処法はありますか?

    渡部/天衣無縫

-コード
-,