Repository navigation
Ver 1.8.0.2 - セッション管理層の抽象化と ID 循環の実装
今回も、ツールの「記憶(セッション管理)」と「寿命(コマンドカウント)」を強化する、重要なリファクタリングを行いました!🫠
🏗️ 記録方式のアーキテクチャ刷新:Dictionary への統合
これまで、パイプハンドルやセッション情報の記録には Evaluate を用いたトリッキーな配列生成や、XLOOKUP 関数による位置特定に依存していました。
今回、これらの管理をすべて 「汎用 Dictionary ➡️ 2次元配列 ➡️ セル出力」 という王道のフローへ刷新しました!
💡 この変更のメリット
「特定のExcel関数」や「配列生成ハック」への依存を断ち切ったことで、記録先の柔軟性が飛躍的に向上しました。
- モダンなExcelなら:これまで通り「テーブル(ListObjects)」へ。
- 古代のExcel(2003等)なら:テーブルを介さず「iniファイル」や「素のRange」へ。
このように、 「どんな環境でもセッションを維持できる拡張性」 の土台が完成しました!🥳
🛡️ 「20億の壁」を突破:コマンドIDのオーバーフロー対策
自動化を長時間・超大量に回し続けた際、コマンド送信回数が Long 型の上限(2,147,483,647)を超えてエラーになるのを防ぐため、20億回を超えた時点でカウントを「1」にリセットする循環システムを導入しました。
- リセット時には、不整合を防ぐために「非同期実行の結果格納用Dictionary」も自動クリアされます。これにより、文字通り 「一生止まらないマクロ」 へと一歩近づきました😎✨
Note
このバージョンから、新しいこのツールロゴ画像に差し替えました。これにより、ツール自体の容量を削減しました