- ベストアンサー
WORDマクロで検索文字列の手前に改行を入れたい
質問文通りです。 物:いちご物:みかん物:バナナ となってる文章を 物:いちご 物:みかん 物:バナナ と整形したいため、「物:」を検索し、その手前で改行を入れるVBAを作ろうと考えています。 が、どのように検索してもそんな物が出てこないので困っています。 何方か分かる方がいればよろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
追加のご質問がありましたが,それはまた全く別の問題です。 >イチロー君:いちごジロー君:みかんサブロー君バナナ >となってるものを、「*君」として検索し、 たとえば途中部分の「『いちごジロー』君:」のいちごとジローを,ご質問の状況では区切る方法が無いので,ご質問のような事はできません。
その他の回答 (2)
- keithin
- ベストアンサー率66% (5278/7941)
実際には「物:」を検索するというよりは,添付図の具合で「物:」を「^p物:」に全て置換します。 という操作をマクロの記録でマクロに録れば,次のようなマクロを採取して利用することもできます。 Sub Macro1() ' ' Macro1 Macro ' 記録日 2012/02/07 記録者 User ' Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "物:" .Replacement.Text = "^p物:" .Forward = True .Wrap = wdFindContinue .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
補足
ご回答ありがとうございます。 上のはあくまで例で、実際はワイルドカードで指定することになります。 検索文字列にワイルドカードは使えるのですが、置換後の文字列に検索結果から 文字を代入する手法はありますでしょうか? 上記の例ですと、物:に当たる部分がランダムな数字や名前だと思って頂ければ結構です。 イチロー君:いちごジロー君:みかんサブロー君バナナ となってるものを、「*君」として検索し、 出てきた結果をそれぞれの場所に代入しつつ整形を行いたいです。
- bin-chan
- ベストアンサー率33% (1403/4213)
マクロではありませんが、置換する方法(過去問) 「word置換で改行は置換できますか?」 http://okwave.jp/qa/q5736665.html #3さんの回答をみてください。
お礼
ご回答ありがとうございます。 .Replacement.Text = "^p^p^p\1" とすることによって実現することが出来ましたのでご報告させて頂きます。 本当にありがとうございました。