こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

ワードでマクロをしようと思うのですが、ワードのマクロはしたことがなく困っています。

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

よろしくお願い致します。

投稿日時 - 2018-10-07 10:45:45

QNo.9545123

困ってます

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

>その半角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

投稿日時 - 2018-10-08 09:53:20

お礼

遅くなりましが、ありがとうございます。
無事できました。

ワードのマクロで半角・全角の区別が必要かよくわからなかったので、現状、半角だったので半角と書きました。

大変勉強になりました。重ねて、ありがとうございます。

投稿日時 - 2018-10-11 21:43:47

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)