【Word VBA】隠し文字以外を対象にした「検索と置換」ダイアログボックスを表示する

2013年7月31日

上書き翻訳では、一括置換による翻訳(上書き翻訳)の支援マクロ「ぱらぱら」 を使っていったん用語を置換した後は、ひたすら文字列を並び替えます。

文字列を訳文に並べ替えをしながら、訳されていない単語の置換もしますね。

なので、この置換をするスピードが翻訳文を作るスピードに影響します。

今回紹介するマクロは、上書き翻訳の必須ツールである「山猫の手 」を開発する前に私が使っていたものです。

このマクロでできること

文字列を選択した状態でこのマクロを実行すると、選択した文字列を[検索する文字列]欄と[置換後の文字列]欄に自動的に入力した状態で、「検索と置換」ダイアログボックスを立ち上げます。

また、検索する文字列を、「隠し文字(なし)」に設定します。

つまり、隠し文字以外の文字列を置換の対象にすると言う意味です。

上書き翻訳で、原文を隠し文字にして表示させている場合に、このような置換が必要ですね。

「みんなのワードマクロ」を選択した状態でこのマクロを実行します。

すると、以下のようになります。

[検索と置換]ダイアログボックス

かつて、「【Word】[検索する文字列]欄に自動入力する場合としない場合の差」の記事で紹介したとおり、「検索と置換」ダイアログボックスの検索する文字列欄に自動で文字が入力できる場合が限られています。

このマクロを使うと、選択されている文字列が入力されますから便利ですね。

キーボードのショートカットキーに登録してご利用ください。

【動画解説】キーボードの割り当て方法

マクロの解説

「検索と置換」ダイアログボックスに文字列を表示させるマクロ(その2) 「検索と置換」ダイアログボックスを表示させるマクロ(けっこう重要) で紹介した方法を用います。

今回の例では、隠し文字をオフにしています。

また、「検索と置換」ダイアログボックの検索オプションもすべてオフにしています。

これは、みなさんが希望する検索条件に設定してみてください。

「検索と置換」ダイアログボックスのチェックボックスと、マクロのプロパティ名との対応は、以下の通りです。

[検索と置換]ダイアログボックス

マクロ


Sub 隠し文字以外を置換するダイアログボックスを表示する()

 Dim myText As String 'ダイアログに入力する文字列
 
 '[検索する文字列]欄と[置換後の文字列]欄に入力する文字列の取得
 If Selection.Type = wdSelectionIP Then
  myText = ""
 Else
  myText = Selection.Text
 End If
 
 With Selection.Find
  .Text = myText
  .Replacement.Text = myText
  .Font.Hidden = False    '隠し文字
  .MatchCase = False     '大文字と小文字の区別する
  .MatchWholeWord = False   '完全に一致する単語だけを検索する
  .MatchByte = False     '半角と全角を区別する
  .MatchAllWordForms = False '英単語の異なる活用形を検索する
  .MatchSoundsLike = False  'あいまい検索(英)
  .MatchFuzzy = False     'あいまい検索(日)
  .MatchWildcards = False   'ワイルドカードを使用する
 End With
 
 '検索と置換ダイアログを表示
 CommandBars.FindControl(ID:=313).Execute

End Sub

 

-コード
-, ,