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方法隱藏窗體,只會將窗體從屏幕上刪除,但窗體依然被加載在內存中。此時,依然可以訪問窗體中控件的屬性。
