プロが教える店舗&オフィスのセキュリティ対策術

Wordで、
ワイルドカードで文字列検索(ヒットした箇所を全て選択)

ヒットした箇所にまとめてインデントをかける

っていう操作をVBAでやりたいんですが、
マウス操作ではインデントをかけることができても、
マクロ記録ではできないみたいです。
どうも検索時に、ヒットした箇所を全て選択させる
ことがVBAではできないようなのですが…

実現する方法はありませんでしょうか?

A 回答 (1件)

私には、ご質問の意味がよく理解できていないのですが、



例えば、元のご質問文で、先頭の文字が「マ」とあるところに、インデントを入れるという場合は、以下のようになりますね。

以下のマクロを実行した結果の例:

|っていう操作をVBAでやりたいんですが、
|   マウス操作ではインデントをかけることができても、
|   マクロ記録ではできないみたいです。
|どうも検索時に、ヒットした箇所を全て選択させる
(ただし、上記は、全角空白が入っていますが、実際は、タブコードです)
Word 2000 以上です。

Sub Replacement_Tab()
 Dim myRng As Range
 Const Kensaku As String = "<マ" '検索語(先頭のメタキャラクタ="<")
 Selection.HomeKey Unit:=wdStory
 With ActiveDocument
  .Content.Find.ClearFormatting
  With .Content.Find
   .Execute _
   FindText:=Kensaku, _
   Forward:=True, _
   MatchWildcards:=True, _
   Wrap:=wdFindStop
   If .Found = True Then
    .Execute Replacewith:=vbTab & Mid$(Kensaku, 2), _
    Replace:=wdReplaceAll
   End If
  End With
 End With
End Sub

この回答への補足

ありがとうございます。でも、せっかくですが、タブを入れたいのではなくインデントをポイント指定したいのです。

補足日時:2005/03/18 13:30
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!