將代碼放入VBA用戶表單而不是“常規”模塊中是否有缺點?這可能是一個簡單的問題,但是在搜索網絡和stackoverflow時,我還沒有找到最終的答案。背景:我正在用Excel-VBA開發數據庫的前端應用程序。要選擇不同的過濾器,我有不同的用戶形式。我問哪種通用程序設計更好:(1)將控制結構放入單獨的模塊中,或者(2)將下一個用戶表單或操作中的代碼放入userform中。讓我們舉個例子。我有一個Active-X按鈕,可觸發我的過濾器和表單。Variant1:模塊在命令按鈕中:Private Sub CommandButton1_Click() call UserInterfaceControlModuleEnd Sub在模塊中:Sub UserInterfaceControllModule()Dim decisionInput1 As BooleanDim decisionInput2 As BooleanUserForm1.ShowdecisionInput1 = UserForm1.decisionIf decisionInput1 Then UserForm2.ShowElse UserForm3.ShowEnd IfEnd Sub在變體1中,控制結構位于常規模塊中。并且關于接下來要顯示哪個用戶表單的決定與用戶表單分開。決定下一個要顯示的用戶表單所需的任何信息都必須從用戶表單中提取。形式2:用戶表單在CommadButton中:Private Sub CommandButton1_Click() UserForm1.ShowEnd Sub在Userform1中:Private Sub ToUserform2_Click() UserForm2.Show UserForm1.HideEnd SubPrivate Sub UserForm_Click() UserForm2.Show UserForm1.HideEnd Sub在變體2中,控件結構直接位于用戶窗體中,每個用戶窗體都有有關其后繼內容的說明。我已經開始使用方法2進行開發。如果這是一個錯誤,并且此方法有一些嚴重的缺點,我希望盡快了解它。
3 回答

天涯盡頭無女友
TA貢獻1831條經驗 獲得超9個贊
在這個答案的幫助下,我終于開始了解MVP鏈接如何工作以使視圖和邏輯保持分離。我從來沒有使用過OOP,因此,如果“確定”按鈕(例如)僅隱藏表單,那么就無法考慮表單如何按要求運行。在這個答案的幫助下,我建立了兩個有效的MVP示例,即使我知道它在做什么,它仍然看起來像魔術。您是否認為MVP嚴格來說是OOP模式?如果沒有,一個沒有對象的人將如何實現呢?
- 3 回答
- 0 關注
- 646 瀏覽
相關問題推薦
添加回答
舉報
0/150
提交
取消