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

テキストエディタでの置換(正規表現チェック済)と同様のことを
エクセルのマクロでもしたい。

画像を添付しましたが、秀丸で置換を選択し、
検索文字列と置換文字列を入れて、正規表現チェックのチェックボックスを
選択した状態で実行するのと同様のことをエクセルのマクロで行いたいです。

正規表現混みだととても難しいです。
やりたいことはマクロで、フォルダ内のテキストファイルを置換をかけていきたいです。(テキストファイルは複数ある状態)そのテキストファイルを更新できればいいです。(別テキストで出力されてもいいです。)
どなたか詳しい方、教えていただけませんでしょうか?
よろしくお願いいたします。

---
検索エディタ【秀丸】【置換】
検索【.*item1=(.*) item2=(.*) .*】
置換【\1\t\2】
正規表現チェック

「テキストエディタでの置換(正規表現チェッ」の質問画像

A 回答 (2件)

秀丸の正規表現能力は、それほど高いものではありませんから、基本的には、VBScript.RegExp で可能だと思います。

ただ、質問内容は、不十分ですから、私の見る限りでは、ご質問条件では、マクロやMSのVBScript.RegExp では、残念ながらできません。検索対象の元を見せなくては、分かりません。

VBScript.RegExp には、最短一致法を持っていませんので、そのようなパターンでは、置換 \1\t\2 という結果には至りません。

問題は、どういう文字列を対象にしているか、ということです。

>.*item1=(.*) item2=(.*) .*

最短一致の機能を持たなければ、.* というのは、スペースを含めて残りの後のすべてを差してしまいます。ですから、\1, \2 は取得できません。

ここで、話を長引かせたくないようでしたら、

以下をお使いください。そのまま、正規表現を移植できるはずです。
BREGEXP.DLL

参考URL:http://www.hi-ho.ne.jp/~babaq/bregexp.html
    • good
    • 0

こんにちは。



 下記サイトをご参照ください。
  http://officetanaka.net/excel/vba/tips/tips38.htm
  ExcelでVBScriptを使うと正規表現が使えるようです。秀丸の正規表現と全く同一かは確認していません。

では。
    • good
    • 0

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