Excelしか許されない砂漠で見つけた、執念の「自作検索ツール」というオアシス 『ExcelEverything v3』

あら、なによ。またえらく「現場の悲鳴」が聞こえてきそうなコード持ってきたわね。

「ソフトのインストール禁止」?

……嫌な言葉ね。お役所仕事というか、頭の固いシステム部門が目に浮かぶわ。

でも、そんな窮屈な檻の中で、爪を研ぐのをやめずに「Everythingが使えないなら作ればいいじゃない!」って立ち上がった、その執念。嫌いじゃないわよ。

じゃあ、この「執念の塊」みたいなVBAコード、品評してあげるわ。


ちょっと、あんた!何よこれ、ずいぶんと「分かってる」じゃないの。Excelの限界に挑戦してるっていうか、もはや「ExcelをExcelとして使ってない」感じがプンプンするわね

この『ExcelEverything v3』、名前からして強気だけど、中身を見たらあーた、なかなかの執念を感じるわよ 。

現場の「業」と「美学」を勝手にレビュー

1. 「縛られた環境」への反逆心が凄いのよ ソフトのインストールが禁止されてる職場で、「それでも高速検索したいの!」っていう、その執念。これ、もはや「呪い」に近いわよ(笑) 。でも嫌いじゃないわ。Windows Searchが使い物にならないなら自分で作っちゃえっていう、そのDIY精神。Excel VBAでここまでやるのは、もはや愛よね

2. 絶妙に「泥臭い」インデックス機能 一度インデックスを作っちゃえば、ファイル名検索が瞬時に終わる 。おまけに「差分更新」までついてるじゃない 。全部やり直さなくていいっていう、その「面倒くさがりだけど完璧主義」な感じ。現場の人間が本当に欲しい機能が分かってるわね

3. grep検索の「お節介」なほどの親切心 ファイル名だけじゃ飽き足らず、中身まで検索(grep)しちゃうのね 。しかも、対象の拡張子を絞ったり、除外フォルダを設定したり 。あんた、どれだけ過去の遺産(テキストファイル)に苦しめられてきたのよ?

総評

これ、ただの検索ツールじゃないわよ。「不便な環境を、知恵とコードでねじ伏せる」っていう、サラリーマンの生存戦略の塊みたいなもの。

綺麗なUIの市販ソフトもいいけど、こういう「煮こごり」みたいに濃縮された現場の知恵が詰まったツールこそ、本当に価値があるのよね 。使いこなすには多少の覚悟(とExcelへの信頼)が必要だけど、一度ハマったら抜け出せなくなりそう。

あんた、なかなかいい仕事してるじゃない。これからも、その「変な執念」を大事にしなさいよ!

まず、このツールの根底にあるのは「反骨精神」よ。

仕事の効率を上げたいのに、便利なツールは全部「セキュリティ」の一言でシャットアウト。そんな中で、唯一許された「Excel」という武器だけでここまでやるかっていう。

1. 「インデックス構築」と「差分更新」の健気さ

普通の人はね、Dir関数でその場しのぎの検索を作るのよ。でもそれだと遅いでしょ?

あなたはわざわざシートにインデックスを作って、しかもDictionaryオブジェクトまで持ち出して「差分更新」を実装してる。

「一度作ったインデックスを大事に育てる」っていう、その丁寧な暮らしぶり。VBA界の丁寧な暮らし系ユーチューバーかと思ったわ。

2. 「Grep機能」まで付けちゃった強欲さ

ファイル名検索だけじゃ飽き足らず、中身(内容)まで見ようっていうのね。

.txt.csv だけじゃなく、.json.vba まで対象にしてるあたり、さてはあなた、自分でもこれ使ってコーディングの使い回し探そうとしてるでしょ?

欲深いわねぇ。でも、その欲が効率を生むのよ。

3. ステータスバーへの配慮

Application.StatusBar を使って「今、頑張ってスキャンしてますよー」ってアピールするのを忘れない。これ大事よ。

動いてるかどうかわからないと、人間不安になってくるもの。この小さな気遣いが、ツールとしての「品格」を上げてるわ。


ちょっと、ここが「おブス」よ!気をつけるのね

褒めてばかりじゃ、あんたのためにならないから、少し毒を吐かせてもらうわ。

  • 再帰呼び出しの限界に震えなさいScanFolderを再帰で回してるけど、階層が深すぎるとExcelが「もう無理!」って白目剥いて落ちるわよ。まぁ、普通の社内サーバーなら大丈夫でしょうけど、調子に乗ってCドライブのルートから回すんじゃないわよ。
  • 「内容検索」のエンコード問題Open filePath For Input って、あんた……今どきUTF-8のファイルなんて腐るほどあるのよ?SJIS(Shift-JIS)前提のコードだと、最近のカッコつけたテキストファイルは文字化けしてスルーされるわ。そこはADODB.Streamとかを使いなさいよ。ちょっと古臭いのよ、やり方が。
  • シートが「インデックス」でパンパンになるわ何万件もファイルがある場所を指定したら、Excelの行数制限(104万行)は超えないにしても、動作が激重になるわ。あまりに巨大なフォルダをターゲットにするのは、自分の首を絞めるようなものよ。

総評

これはツールっていうより、「不自由な環境に対する、ささやかな復讐」ね。

Everythingみたいな爆速検索は無理でも、「Excelの枠内でここまでやってやったわ!」っていう誇りを感じるわ。

コードの書き方も、定数(Const)をちゃんと宣言して、関数を細かく分けて……。あんた、結構「整えたい」タイプでしょ? A型の性格が透けて見えるわよ。

不便を嘆く暇があったら、キーボードを叩いて道具を作る。

その姿勢、今の軟弱なビジネスマンたちに見せてやりたいわ。

これからも、その「Excelという名の檻」の中で、誰よりも自由に泳ぎなさい。応援してあげるわ。

コメントを残す

メインメニュー