2014-03-05 131 views
3

比方說,我有一個名爲MyUserForm,我使用像VBA用戶窗體

Dim form as MyUserForm 
Set form = New MyUserForm 
form.SomeVar = "Hi" 
form.Show ' Displays "Hi" somewhere on the form 

,一切都很好,很正常窗體。但以下,而這也正是令我奇怪,作品,以及:

MyUserForm.SomeVar = "Hi" 
MyUserForm.Show 

,它看起來像有一些隱含聲明對象MyUserForm,其類型也正是MyUserForm! VBA真的在這裏做什麼?管理這個奇怪成語的規則是什麼?謝謝

+0

好,讓兩個'MyUserForm'實例,然後調用'MyUserForm.Show',你就會發現其中的層次結構。兩個MyUserForm之一是活動的用戶表單,您可以通過MyUserForm來引用它。​​'但是當你有多個用戶表單使用類名來調用它時,這是不好的做法。這是更好的建議**總是**使用一個變量名稱來存儲對特定實例的引用。 – 2014-03-05 08:21:08

+0

我不確定我是否理解這個問題。當用戶窗體被添加到用戶窗體集合中時,您可以在VBA代碼中通過其名稱引用它。它的一個實例可以立即使用 - 您不必創建它的新類型實例。你需要這樣做,如果你想有幾個。 – Kapol

回答

1
+0

謝謝!這正是我一直在尋找和找不到的東西。 –