プロが教えるわが家の防犯対策術!

(実際にはExcelのVBAからWordファイルを開いての処理になるのでExcelのVBAで組んでいますが、)
WordのVBAで、置換処理を作成しています。
keyword1 = "検索文字"
keyword2 = "置換文字"
With objSelection.Find
.Text = keyword1
.Forward = True
.MatchWholeWord = True
.Replacement.Text = keyword2
.Execute Replace:=wdReplaceAll
End With
置換処理自体は出来ています。上記処理は置換部分の抜粋です。
しかし行いたいことはタイトルにもあります通り、置換文字中に改行を含めた状態での置換処理です。
長い文字列を置換するだけなら問題ないのですが、改行を含めてしまうと改行文字が別の文字に置き換えられてしまうようです。
置換先でも改行された状態にしたいのですが、これは書き方に問題があるのでしょうか?
もしくは置換処理ではなく、他の方法を取る必要があるのでしょうか?
教えてください。よろしくお願いいたします。

A 回答 (1件)

こんにちは。



>長い文字列を置換するだけなら問題ないのですが、改行を含めてしまうと改行文字が別の文字に置き換えられてしまうようです。

質問の「WordVBA 行の削除」で、偶然に書いたのですが、改行コードの問題で、Excel側は、セルにvbLF が入っているはずですから、

一旦取得した、置換文字を、以下のようにして
keyword2 = Replace(keyword2, vbLf, Chr(11), , , vbBinaryCompare)

置換すればよいのではありませんか?

ちなみに、これが入っているWordテーブルのセルの中で、改行コードの種類が確認できれば、「WordVBA 行の削除」のVBAのほうも可能です。Paragraph 自体の変更はありません。
    • good
    • 0
この回答へのお礼

回答、ありがとうございます!
他の質問でもお世話になっています。
提示していただいたサンプルを実行してみたところ、見事に成功しました。
ありがとうございました!
それでは「行の削除」のほうも確認してみます。

お礼日時:2009/11/10 19:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています