ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

質問者:azuma3chom ワードで、段落を付けるマクロと、段落を除去するマクロ
困り度:
  • すぐに回答を!
例えば以下の段落の付いた文章があります。
□〜〜〜〜〜〜A手段と、
□〜〜〜〜〜〜B手段と、
□〜〜〜〜〜〜C手段と、
□〜〜〜〜〜〜D手段と、
□を有する○○装置。

 これを、1つの段落分に直すと、以下の文章になります。
□〜〜〜〜〜〜A手段と、〜〜〜〜〜〜B手段と、〜〜〜〜〜〜C手段と、〜〜〜〜〜〜D手段と、を有する○○装置。
 土日で、双方向に直すワードのVBAマクロ(2つのマクロ)を作りましたが、全文に対して適用されてしまいます。
 選択して反転表示した200〜500字位の文章に対して適用したいのですが、どのようにしたら良いでしょうか。どなたか、教えてください。宜しくお願いします。
質問投稿日時:08/07/07 06:55
質問番号:4157280
この質問に対する回答は締め切られました。

回答

良回答10pt

回答者:okormazd VBAじゃないとだめなのか。
検索・置換でできるけど。

範囲選択
編集→検索→オプション→特殊文字→段落記号→置換→すべて置換→はい

これをマクロ記録してみては。
種類:アドバイス
どんな人:経験者
自信:参考意見
回答日時:08/07/07 12:33
回答番号:No.1
この回答への補足質問者がここに書いてはいけないのでしょうけれど、レスが立たないと書くところがないので、書かしていただきます。
上記の段落の削除と、反対に段落の設定をマクロ記録しました。
上のコードで、
Selection.MoveUp Unit:=wdLine, Count:=15
Selection.MoveDown Unit:=wdLine, Count:=8, Extend:=wdExtend
の2行については、記録されない形にしてみましたが、無くて問題ありませんでした。
選択範囲についてだけの適用にしたいので、うっかりするとミスすることがありますが、
(1)反転表示して選択することと、
(2).Wrap = wdFindAsk
を使えば、任意選択の文字列に対してのみに適用できます。

ありがとうございました。
少しの間、閉じないで置きます。
この回答へのお礼マクロきろくしました
以下のようになりました。
Sub Macro2()
'
' Macro2 Macro
'
'
Selection.MoveUp Unit:=wdLine, Count:=15
Selection.MoveDown Unit:=wdLine, Count:=8, Extend:=wdExtend
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^p "
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.MatchFuzzy = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub

上のコードで、
Selection.MoveUp Unit:=wdLine, Count:=15
Selection.MoveDown Unit:=wdLine, Count:=8, Extend:=wdExtend
の2行について、任意選択の文字列に変えるにはどうしたら良いでしょうか。