朋友们好,今日讲VBA代码第三十八讲:如何通过VBA代码隐藏Excel主窗口。如果希望在程序启动时或运行过程中隐藏Excel主窗口,有以下方法实现。
一:当Application对象的Visible属性设置为False时,Application对象不可见,即能隐藏Excel主窗口,如下面的代码所示。
Private Sub Workbook_Open()
Application.Visible = False
UserForm1.Show
End Sub
为了使程序运行可视,我又写了几行代码:
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事件,在工作簿打开时将Application对象的Visible属性设置为False隐藏Excel主窗口。
显示Excel主窗口的方法是将Application对象的Visible属性重新设置为True。
当工作簿文件打开时,隐藏Excel主窗口,只显示用户登录窗体UserForm1。
下面我们看看代码窗口:
运行窗口:
当输入123后,按下退出键后,回到主窗口:
二:设置Application对象的Left属性(从屏幕左边界至Microsoft Excel主窗口左边界的距离)和/或Top属性(从屏幕顶端到Microsoft Excel主窗口顶端的距离)将Application对象移出屏幕外,实现隐藏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
读者可以自己去验证一下,我这里就不再截图了。
代码解析:
工作簿的Open事件过程,设置Application对象的Left属性为一个大的数值,从而将应用程序窗口移出屏幕。
第2行代码将应用程序窗口设置为正常状态,只有当应用程序窗口正常显示时才能够设置Application对象的Left属性。
第3行代码将Application对象的Left属性设置为一个大的数值,从而隐藏Excel主窗口。
第4行代码设置用户窗体的StartUpPosition属性值为2,使窗体显示在屏幕的中央。StartUpPosition属性返回或设置一个值,用来指定用户窗体第一次出现时的位置,
在第二段代码的第四行代码:Application.WindowState = xlMaximized 是使主窗体最大化。
今日内容回向:
1.如何隐藏主窗口?
2.上述两种方法的意义是什么?
这一系列文章是根据我多年的工作经验编写的,也是一直在利用的工具,非常方便好用。现在分享出来,希望能对同样在职场打拼的朋友有些许的帮助,使你的工作更加高效、流畅。朋友们有问题请随时提出来,我们一起探讨学习。对数据分析有需要的公司、组织或个人可以直接联系我,及时为你提供专业的定制技术支持。