vba,userform show方法

时间:2016-05-12 06:10:15

标签: forms vba methods

有人可以解释一下为什么显示形式的方式和隐藏它的方式构造不同。

显示表单的代码 userform1.show

和隐藏它的代码 卸载userform1。

为什么没有用userform1.unload? 为什么unload写在userform前面?

提前谢谢。

1 个答案:

答案 0 :(得分:3)

UserForm课程有ShowHide个方法。使用Show将显示存在于内存中的表单实例,并且Hide将隐藏它。隐藏意味着实例仍在内存中且可访问但不可见。

VBA.Global命名空间中,有LoadUnload方法。使用Load,对象可以加载到内存中但不可见,并且需要调用Show方法来显示表单。使用Unload表单将被卸载,从内存中删除它,并且不再可以访问它。

  

因此,Show/HideLoad/Unload是使用表单的两种不同方式。

IMO:最简单的方法是创建一个类型的变量,例如: UserForm1然后使用此变量。此变量包含对UserForm1的引用,可用于显示或隐藏表单。

Dim frm1 As UserForm1 
Set frm1 = New UserForm1 ' Creates new instance in memory but does not display it yet
frm1.Show ' Displays the form
frm1.Hide ' Hides form but it remains in memory and is still accessible
set frm1 = Nothing ' Removes connection between variable frm1 and form instance.
' If no other references are available the form instance can be removed from memory