2021年は仕事でトラブルが多発して、とにかく大量のデータの置換(ファイルが5万件くらい。。)、検索を行なわなければならなかったのです。。
そこでみんなの強い見方「サクラエディタ」のGrep置換で作業を行なっていました。
標準の機能でほぼほぼ作業は完結するのですが、
今回直面していた内容が少し特殊ですべて異なるファイル名で大量のファイルがあり、
対象のファイル名に決まった内容を置換するというもの。
なので10,000ファイルあれば、10,000通りの条件がありGrepの連続実行が必要になったわけです。
以前下記のサイトのバッチで処理を行なっていたのですが、手順が複雑であったり
今回の案件で致命的だったので、条件をCSVファイルで書く際にカンマを含む文字列が誤認識されてしまう問題がありました。
そこで今回、カンマ問題を解消し汎用的にEXCELで動作するGrep置換連続実行マクロを作成しました。
00_サクラエディタGrepコマンドライン実行_処理待ちVer1.0.xlsm - Google ドライブ
画面は下記のような感じ(自分用に作ったのでわかりにくい点はあしからず。。)
EXCEL内に手順を書いていますが使い方は下記。
1、参照設定のWindows Script host object modelにチェックする(儀式)
2、I行にサクラエディタ本体プログラムのEXEパスを入れる※ご自身の環境に合わせて
3、モードに検索か、置換を入れる
検索文字列を入れる
置換文字列を入れる※置換の場合のみ(それ以外はハイライト)
4、ファイル名を入れる(アスタリスク指定可能)
5、検索フォルダを入れる
6、文字コードを入れる※通常99
7、オプション入れる よく使うのはSRU
※置換連続処理はUを後ろに入れるとダイアログが出なくなるので必須
8、最後確認して「処理実行」を押す
Excel 最強の教科書[完全版]――すぐに使えて、一生役立つ「成果を生み出す」超エクセル仕事術
会社ではトラブル対応が属人化されて、テキストの大量書き換えは誰でも出来るものではありません(そもそもそういうことが起こらなくする対策が大事です。。)
しかし、バッチなどになれていない方でもEXCELでのGrep置換/検索操作が出来れば対応 の幅が広がるのではないでしょうか。
同じようなトラブルでお困りの方のご参考になればと思います。
感想などありましたらコメントよろしくお願いいたします。
※今回トラブル対応で突貫で作ったマクロになりますので細かいチェックなどはほとんど出来ておりません!このマクロを使用して発生したいかなるトラブル・損失・損害に対しても、管理人は責任を負いません!!
Excel 最強の教科書[完全版]――すぐに使えて、一生役立つ「成果を生み出す」超エクセル仕事術
Excel VBA アクションゲーム作成入門 Excel 2007/2003/2002 対応