VBA 窗体对象的使用

1、显示窗体:

Sub ShowForm()
    Load InputForm  '加载“InputForm”窗体
    '加载窗体就是初始化窗体,为窗体分配内存,但不显示窗体。
    InputForm.Show  '显示“InputForm”
End Sub

 

如果在调用窗体的Show方法之前没有加载窗体,Excel会自动加载该窗体,然后再显示它。

所以,在程序中使用代码显示一个窗体,通常直接调用Show方法,而省略了加载的语句。

Sub ShowForm()
	InputForm.Show  '显示“InputForm”
End Sub

 Sub ShowForm()  InputForm.Show  '显示“InputForm” End Sub

2、设置窗体的显示位置 默认情况下,显示一个窗体后,Excel会将其显示在Excel窗口的中心位置,但也可以通过设置属性来定义其显示位置。 例如: (备注:要自定义窗体显示在屏幕上的位置,应先将窗体的StartUpPosition属性设为0,这样才能设置)

Sub ShowForm11()
    With InputForm
        .StarUpPosition = 0     '设置窗体初次显示时的位置由用户定义
        .Top = 100              '设置窗体顶端离屏幕窗口顶端的距离
        .Left = 200             '设置窗体左端离屏幕窗口左端的距离
        .Show
    End With
End Sub

 

3无模式窗体和有模式窗体 模式窗体不能操作窗体之外的对象;程序将暂时停止执行“显示窗体”命令之后的代码,直到关闭或者隐藏窗体, 并且只有关闭或者隐藏窗体之后,才可以操作窗体外的其他对象。 将名称为InputForm的窗体显示为模式,代码如下:

InputForm.Show

或者: InputForm.Show vbmodal

通过菜单命令或直接调用窗体的Show方法显示的都是模式窗体,所以,如果想将一个窗体显示为模式窗体,直接调用Show方法显示这个窗体就可以了。

无模式窗体允许进行窗体外的其他操作。 要将窗体显示为无模式窗体,必须通过show方法的参数指定,

例如: InputForm.Show vbmodeless

如果将窗体显示为无模式窗体,当窗体显示后,系统会继续执行程序中余下的代码,也允许我们操作窗体之外的其他对象。

 

4关闭或隐藏已显示的窗体 关闭窗体最简单的方法就是单机窗体右上角的【关闭】按钮。 关闭窗体的代码如下: Unload InputForm 或者: Unload Me “Unload 窗体名称”可以关闭任意的窗体。但是使用“Unload Me”只能关闭代码所在的窗体。

如果只是想隐藏而不是关闭窗体,可以使用窗体对象的Hide方法。

语法如下: 窗体名称.Hide

或者: Me.Hide

关闭和隐藏窗体的区别: 用Unload InputForm语句关闭窗体不但会将窗体从屏幕上删除,还会将其从内存中卸载。 当窗体从内存中卸载后,窗体及窗体中的控件都将还原成最初的值,代码将不能操作或访问窗体及其中的控件,也不能再访问保存在窗体中的变量。 如果使用Hide方法隐藏窗体,只会将窗体从屏幕上删除,但窗体依然被加载在内存中。此时,依然可以访问窗体中控件的属性。

posted @ 2017-10-17 19:01  梓夙  Views(7614)  Comments(0Edit  收藏  举报