質問 |
||
| 質問者: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行について、任意選択の文字列に変えるにはどうしたら良いでしょうか。 |