2017-08-23 40 views
0

在我開始之前,讓我給你背景。我正在使用Excel工作在VBA項目上,而且我使用的計算機資源有限(並且我已經被要求儘可能快地執行快速執行時間)。 在我的項目中,我在不同的時間打開多個用戶窗體,例如在我的工作表上應用過濾器。使用myForm.Hide或卸載我關閉用戶表格

正如我剛纔所說,資源是有限的,我想知道如果frmFilters.Hide足以關閉用戶窗體或者是否有更好的方法來做到這一點?

I've read aboutUnload Me但我不知道它是如何工作的,因爲我將從我的窗體應用過濾器,並且我需要保留它們,直到用戶完全關閉Excel文件爲止。

有沒有Unload Me好於frmFilters.Hide的情況?

問候, 毛草

+0

如果您需要保留過濾器,最好將它們保存在某種類型的INI文件中。 – braX

+0

@braX對不起,我一直不夠精確。我不需要永遠保留過濾器,但只有在用戶關閉Excel文件(我編輯了我的文章)之前。我的問題是關於如何管理表單而不是如何管理過濾器。 – Teasel

+0

在這種情況下,只隱藏表單就足夠了。 – braX

回答

0

我發現一個有趣的回答了我的問題,我認爲它張貼在這裏將是有益的。

卸載我

Unload me 

刪除從內存中的形式,如果你的項目的主要形式這麼做停止應用程序。您在表單中所做的每一項修改都將丟失。

隱藏

myForm.Hide 

僅隱藏窗體。如果您在應用程序的主要形式上這樣做,則不會結束程序(例如,調試模式仍將運行)。您在表單中進行的每一項修改都會在您下次展示表單時保留。

要使用哪一個?

取決於我相信的情況。在我的項目中,我的表單被多次打開/關閉,所以我選擇只隱藏它,以避免每次都需要爲表單提供內存。