0

多くの ActiveX 要素を含む Excel シートを開発しています。私は UserForm を使用しておらず、activeX ボタンを押すとすべてのデータが読み込まれます。

この時点で、さまざまなアクションが実行される非表示の Excel アプリが作成されます。

この新しいアプリは、提供された ActiveX コントロールを使用してフロントエンドでユーザーが行っていることに基づいて、他のデータなどと結合されます。

私の問題は、すべてのオブジェクトがメモリとすべてから解放される「プロジェクトがリセットされた」ときに発生します。これがユーザー フォームの場合、使用したすべてのワークブックを非表示で閉じる「終了時」イベントを実装し、基本的に自分でクリーンアップします。

ただし、これはユーザーフォームではなく、「プロジェクトがリセットされた」ことを検出する方法がないため (私の知る限り)、作成した非表示の Excel アプリは開いたままですが、それを指すものはありません。

タスクマネージャーに行くと、さまざまな「EXCEL.EXE」が表示されます。それらの数は、基本的にツールを実行した回数です。

それで、VBAがいつ「プロジェクトを停止」しようとしているかを検出する方法はありますか?ユーザーフォームの「終了」があるのと同じように、使用されていないものを削除してスプレッドシートの要素をリセットできますか?

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

4

1 に答える 1