| 朋友們好,今日講VBA代碼第三十八講:如何通過(guò)VBA代碼隱藏Excel主窗口。如果希望在程序啟動(dòng)時(shí)或運(yùn)行過(guò)程中隱藏Excel主窗口,有以下方法實(shí)現(xiàn)。 一:當(dāng)Application對(duì)象的Visible屬性設(shè)置為False時(shí),Application對(duì)象不可見,即能隱藏Excel主窗口,如下面的代碼所示。 Private Sub Workbook_Open() Application.Visible = False UserForm1.Show End Sub 為了使程序運(yùn)行可視,我又寫了幾行代碼: Private Sub Frame1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If UserForm1.TextBox2 = 123 Then Application.Visible = True Else UserForm1.TextBox2.SetFocus End If End Sub 代碼解析: 代碼工作簿的Open事件,在工作簿打開時(shí)將Application對(duì)象的Visible屬性設(shè)置為False隱藏Excel主窗口。 顯示Excel主窗口的方法是將Application對(duì)象的Visible屬性重新設(shè)置為True。 當(dāng)工作簿文件打開時(shí),隱藏Excel主窗口,只顯示用戶登錄窗體UserForm1。 下面我們看看代碼窗口: 運(yùn)行窗口: 當(dāng)輸入123后,按下退出鍵后,回到主窗口: 二:設(shè)置Application對(duì)象的Left屬性(從屏幕左邊界至Microsoft Excel主窗口左邊界的距離)和/或Top屬性(從屏幕頂端到Microsoft Excel主窗口頂端的距離)將Application對(duì)象移出屏幕外,實(shí)現(xiàn)隱藏Excel主窗口,如下面的代碼所示。 Private Sub Workbook_Open() Application.WindowState = xlNormal Application.Left = 10000 UserForm1.StartUpPosition = 2 UserForm1.Show End Sub 同樣為了使程序可視化,我仍寫了如下代碼: Private Sub Frame1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If UserForm1.TextBox2 = 123 Then Application.Visible = True Application.WindowState = xlMaximized Else UserForm1.TextBox2.SetFocus End If End Sub 讀者可以自己去驗(yàn)證一下,我這里就不再截圖了。 代碼解析: 工作簿的Open事件過(guò)程,設(shè)置Application對(duì)象的Left屬性為一個(gè)大的數(shù)值,從而將應(yīng)用程序窗口移出屏幕。 第2行代碼將應(yīng)用程序窗口設(shè)置為正常狀態(tài),只有當(dāng)應(yīng)用程序窗口正常顯示時(shí)才能夠設(shè)置Application對(duì)象的Left屬性。 第3行代碼將Application對(duì)象的Left屬性設(shè)置為一個(gè)大的數(shù)值,從而隱藏Excel主窗口。 第4行代碼設(shè)置用戶窗體的StartUpPosition屬性值為2,使窗體顯示在屏幕的中央。StartUpPosition屬性返回或設(shè)置一個(gè)值,用來(lái)指定用戶窗體第一次出現(xiàn)時(shí)的位置, 在第二段代碼的第四行代碼:Application.WindowState = xlMaximized 是使主窗體最大化。 今日內(nèi)容回向: 1.如何隱藏主窗口? 2.上述兩種方法的意義是什么? | 
|  |