楼主 amulee |
一般,我们用Userform.Show来显示窗体。其实在窗体没有加载的时候,用Show方法显示窗体的时候,系统会对窗体进行另外一个操作,即加载窗体。所谓加载,就是将窗体加载到系统内存中,以加快窗体调用的速度。在VBA中用以下语句可以达到加载的目的:
在加载的同时,会触发窗体的Initialize事件,执行该事件过程下的语句。 窗体加载完毕后,再用Hide或者Show方法隐藏或显示窗体的话,速度就会快很多,也不会再次触发Initialize事件。 那么有些人就会有疑问,既然第一次Show已经包括了Load,为什么还要Load的? 其实Load语句的存在还是有必要的:在有些时候,我们的窗体内容很多,需要消费大量内存;或者在Initialize事件中我们定义了许多操作,这些都会减慢窗体加载的速度。或者有些时候,我们需要加载多个窗体,然后再一下子显示出来。在这段加载的期间内,Excel会呈现如假死的状态,有些使用低配置电脑的人会以为真的死机了。这个时候,我们可以采取一些友好界面,先用Load语句加载提示用户窗体正在加载就比较好。 详细请见附件。 ![]() |
2楼 yjzstar |
进来学习下! |