• ベストアンサー

ワード:特定の言葉の5文字前で改行するマクロ

ワードでマクロをしようと思うのですが、ワードのマクロはしたことがなく困っています。 具体的には、ワードの文章で、例えば、「AAA」という言葉が出たときに、その半角5文字前で改行をすることで見やすくしたいのですが、どのようなコードになるのでしょうか。 よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.1

>その半角5文字前 これは、 abcdefghijAAA の場合に abcde fghijAAA と変換すればいいのであれば、 添付のコードで実現できます。 なお、 >その半角5文字前 この半角という求めがよくわかりません。 半角、全角を区別せずに5文字遡っています。 半角換算でという求めであれば Moveメソッドにそのオプションがありませんので 単純なコードでは実現できません。 また、5文字遡るわけですが その中に改行が含まれている場合 この改行も1文字として数えています。 また、作業を開始したい行にカーソルがある状態 (例えば、文章全体が対象なら文章の先頭にカーソルがある状態) で実行することを想定しています。 Option Explicit Sub Sample()  Dim sw As Boolean  Do   With Selection.Find    .Text = "AAA"    sw = .Execute   End With   If sw = True Then    Selection.Move wdCharacter, -6    Selection.TypeParagraph    Selection.Move wdCharacter, 6   Else    Exit Do   End If  Loop   End Sub

promet
質問者

お礼

遅くなりましが、ありがとうございます。 無事できました。 ワードのマクロで半角・全角の区別が必要かよくわからなかったので、現状、半角だったので半角と書きました。 大変勉強になりました。重ねて、ありがとうございます。

関連するQ&A