2011-05-05 49 views
0

我想要一個使用各種VBA腳本文件的複雜表單。 但是當我參考另一個模塊時,「我」不起作用。有什麼方法可以使用各種模塊並像單個文件一樣?或者你能給我什麼其他的最佳實踐? 問題是,我使用VBA 2天..如何管理複雜表單的VBA腳本?

+0

在同一個項目中有多個模塊應該不是問題,只要你需要的程序是'Public'。在什麼情況下是「我」不工作?向我們展示一些代碼! – 2011-05-05 08:46:20

+0

你在說什麼樣的模塊?它只是使用Me關鍵字的類模塊,可以是類模塊,也可以是獨立的類模塊。簡單的獨立代碼模塊不能使用Me關鍵字。 – 2011-05-06 02:04:29

回答

2

假設你在一個標準模塊中有一個「DoSomethingWithForm」過程。修改它以期望將表單引用作爲參數。

Public Sub DoSomethingWithForm(ByRef frm As Form) 
    MsgBox "The name of this form is " & frm.Name 
End Sub 

那麼你的表格可以這樣調用的程序:

Private Sub cmdWhoAmI_Click() 
    DoSomethingWithForm Me 
End Sub 
+0

因此,對於每個外部模塊,我需要通過表單作爲參數? – 2011-05-05 23:01:52

+0

你不需要。在外部模塊中,可以將一個打開的表單稱爲「Forms!form_name」或「Forms(」form_name「)」......但是當/如果更改'form_name'時,則必須更改模塊。按照我的建議,當表單重新命名時代碼不會中斷。 – HansUp 2011-05-05 23:15:38