朋友們好,今日講VBA代碼第三十八講:如何通過(guò)VBA代碼隱藏Excel主窗口,。如果希望在程序啟動(dòng)時(shí)或運(yùn)行過(guò)程中隱藏Excel主窗口,,有以下方法實(shí)現(xiàn)。 一:當(dāng)Application對(duì)象的Visible屬性設(shè)置為False時(shí),,Application對(duì)象不可見(jiàn),,即能隱藏Excel主窗口,如下面的代碼所示,。 Private Sub Workbook_Open() Application.Visible = False UserForm1.Show End Sub 為了使程序運(yùn)行可視,,我又寫(xiě)了幾行代碼: 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事件,在工作簿打開(kāi)時(shí)將Application對(duì)象的Visible屬性設(shè)置為False隱藏Excel主窗口,。 顯示Excel主窗口的方法是將Application對(duì)象的Visible屬性重新設(shè)置為T(mén)rue,。 當(dāng)工作簿文件打開(kāi)時(shí),隱藏Excel主窗口,,只顯示用戶(hù)登錄窗體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 同樣為了使程序可視化,,我仍寫(xiě)了如下代碼: 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è)置用戶(hù)窗體的StartUpPosition屬性值為2,,使窗體顯示在屏幕的中央。StartUpPosition屬性返回或設(shè)置一個(gè)值,,用來(lái)指定用戶(hù)窗體第一次出現(xiàn)時(shí)的位置,, 在第二段代碼的第四行代碼:Application.WindowState = xlMaximized 是使主窗體最大化。 今日內(nèi)容回向: 1.如何隱藏主窗口,? 2.上述兩種方法的意義是什么,? |
|