統合削除マクロについて教えてくださいNo.00321
ちろる さん 14/12/16 12:01
 
はじめまして。

この度、統合削除マクロを使用したいと思い導入しました。
作業としては、「文字列を含まない行」を「複数の条件」で指定して削除するという
ものです。
空白で区切って複数の文字列を指定しましたが、すべての行が削除されてしまいまし
た。

「含む行」の場合には複数でも成功しています。

お手数をおかけしますが、御教示ください。



[ ]
RE:00321 統合削除マクロについて教えてくNo.00324
山紫水明 さん 14/12/16 21:19
 
 ちろるさん,

>空白で区切って複数の文字列を指定しましたが、すべての行が削除されてしま
>いました。

 すみません。バグがあるようです。
 とりあえず,マクロ75行目の
    replaceallfast "^(?!(?=.*" + $string + ")).*\\n","",regular, inselect;
 を
    replaceallfast "^.*(" + $string + ").*\\n","",regular, inselect;
 に置き換えて試していただけませんか。

                    山紫水明
                    SANSHISUIMEI

[ ]
RE:00321 統合削除マクロについて教えてくNo.00325
山紫水明 さん 14/12/16 21:52
 
 ちろるさん,

 すみません,誤解してコメントしてしまいました。前のコメント取り消します。
 ちょっと時間がありませんので,再考します。

                    山紫水明

[ ]
RE:00324 統合削除マクロについて教えてくNo.00326
ちろる さん 14/12/16 22:12
 
山紫水明さん

お忙しいところ、早速のご返信、ありがとうございます。

御教示いただいた方法を試したのですが、「含まない行」にチェックを入れているに
もかかわらず、「含む行」が削除されてしまいました。

何度も申し訳ありませんが、再度ご教示いただければと思います。

お手数をおかけしますが、よろしくお願いします。

ちろる

[ ]
RE:00326 統合削除マクロについて教えてくNo.00327
山紫水明 さん 14/12/17 17:05
 
 ちろるさん,

 このマクロをアップしたときは,問題なく動いていたはずなので,もしかしたら
秀丸エディタの正規表現の修正が影響しているのかもしれません。
 前記の箇所を次のように変更して試してください。

    replaceallfast "^(?!.*(" + $string + ")).*\\n", "", regular, inselect;

                   山紫水明

[ ]
RE:00327 統合削除マクロについて教えてくNo.00328
ちろる さん 14/12/17 18:54
 
山紫水明さん

教えていただいた修正を行ったところ、期待通りの動作をしてくれました。

お忙しい中、素早い対応をしていただき感謝いたします。

ありがとうございました。

[ ]
RE:00328 統合削除マクロについて教えてくNo.00329
秀まるお さん 14/12/19 09:21
 
 いまさらのコメントですが、山紫水明さんのマクロがうまく動かなかったのは、
秀丸エディタに付属してる正規表現ライブラリ側のバグでした。最近の
バージョンでレベルダウンしてしまってたようです。

 山紫水明さんのおかげでバグに気づくこともできました。

 お手数かけてすみませんでした。

[ ]