「検索と置換」ダイアログボックスに文字列を表示させるマクロ | みんなのワードマクロ

みんなのワードマクロ

ワードマクロで、文書作成とオフィス事務を効率化!!

----------------------------------------
この記事を新しいサイトに転記しました
----------------------------------------

一括置換の翻訳のために、置換用のマクロを使っています。

今は、自分で検索と置換専用のダイアログボックスを設計して使っていますが、以下のマクロを過去ずっと使っていました。かなり便利です。

自作の「検索と置換」ダイアログボックスは、もう少し作りこんでからマニュアルをつけて公開させていただきますので、ご興味がある方はお待ち下さい。


▼このマクロでできること
選択中の文字列を「検索する文字列」と「置換後の文字列」に自動的に入力します。

それだけのマクロなのですが、コピーして貼り付けて、という手間が2回減りますので、便利ですよ。

なにしろ、一括置換の翻訳では、こういう作業が毎日何十回(いや、何百回)と続くわけですから、その効果はけっこうなものになります。


みんなのワードマクロ


では、なぜわざわざこんなマクロを作っているのか?というと、Wordの性質上、選択中の文字列は、「検索と置換」ダイアログボックスの「検索する文字列」欄に常に自動で入力されるわけではないからです(「検索する文字列」欄に自動入力する場合としない場合 )。

また、「置換後の文字列」欄には自動で入力されません。

そのため、これらを自動で実行してくれるマクロを作りました。


▼マクロの解説
青字の部分で現在選択中の文字列をmyStringに格納しています。

文字が選択されていない場合には、空欄にする処置をしました。このようにする理由は、かつて書いたとおりです(選択されている文字列を文書内で検索するマクロ )。

赤字の部分で、「検索する文字列」と「置換後の文字列」に選択中の文字列を設定しています。

(後日追記)
オレンジ色の部分で、エラー処理をしております。おそらく、組み込みダイアログボックスのエラーのようなものです。Word 2000の時代からあるようですが、Word 2010になっても依然同様の問題がございます。

ここで表示されるエラーメッセージは、置換数を表示するなど、通常であれば置換後に表示されるべきメッセージです。

また、「検索をする文字列」に文字列に文字を入れずに検索ボタンを押した場合にもエラーになります。

ただ、この種のエラーは無視できるであろうと思われますので、エラーがあってもメッセージは表示させずにおくという処置とさせていただきました。

ご迷惑をかけました。お試し下さい。

(後日さらに追記)
もっと便利な方法があります。こちらをご覧下さい。

「検索と置換」ダイアログボックスに文字列を表示させるマクロ(その2)


▼マクロ
Sub MWM_Replacement()
  '置換ダイアログ
  Dim myString As String

  On Error Resume Next

  If Selection.Start = Selection.End Then

     myString = ""
  Else
     myString = Selection.Text
  End If
 
  With Selection.Find
    .ClearFormatting
    .Replacement.ClearFormatting
    .Text = myString
    .Replacement.Text = myString
  End With
 
  Dialogs(wdDialogEditReplace).Show

End Sub


▼関連記事
「検索と置換」ダイアログボックスに文字列を表示させるマクロ(その2)


選択されている文字列を文書内で検索するマクロ

「検索する文字列」欄に自動入力する場合としない場合

一括置換翻訳の支援ソフト「ぱらぱら」の公開

Cooperative Translation (CT) 方式による翻訳 目次