2013-07-26 29 views
0

我正在開發一個有很多ActiveX元素的Excel工作表。 我沒有使用UserForm,當按下一個activeX按鈕時,所有數據都被加載。VBA代碼模塊重置時的事件?

在這一點上,創建一個隱藏的Excel應用程序,其中執行各種操作。

這個新的應用程序然後結合其他數據等等。根據用戶正在做的前端提供的ActiveX控件。

我的問題出現在「項目重置」,其中所有對象都從內存和所有內容中釋放。 如果這是一個用戶窗體,我會實現「在終止」事件,我會關閉隱藏所有我已經使用過的工作簿,基本上是自己清理。

但是,這不是一個用戶表單,並且沒有辦法檢測「項目被重置」的時間(據我所知),所以我創建的隱藏的Excel應用程序保持打開狀態,但沒有指向它。

如果我去任務管理器,我看到各種「EXCEL.EXE」,其數量基本上是我運行該工具的次數。

那麼,有沒有什麼方法可以讓我檢測VBA何時要「停止項目」,因爲用戶窗體有「終止」,所以我可以刪除未使用的內容並重置電子表格中的元素?

謝謝!

+1

沒有任何代碼的部分,很難幫助你。你確實創建了Excel實例,因此我認爲關閉它是可行的...所以,顯示你的代碼(的一部分)。 –

回答

0

我發現沒有相應的事件可以解決這個問題。

處理此問題的最佳方法是創建一個隱藏的userform對象,該對象將「保存」我定義的所有全局變量和對象。然後,我可以實現一個UserForm_Deactivate事件,以便在表單正在退出並在自己清理後進行捕獲。