vba打开python vba打开文件不显示窗口_窗口最大化显示灰色


朋友们好,今日讲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。

下面我们看看代码窗口:


vba打开python vba打开文件不显示窗口_vba打开python_02


运行窗口:


vba打开python vba打开文件不显示窗口_vba打开python_03


当输入123后,按下退出键后,回到主窗口:


vba打开python vba打开文件不显示窗口_VBA_04


二:设置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.上述两种方法的意义是什么?

这一系列文章是根据我多年的工作经验编写的,也是一直在利用的工具,非常方便好用。现在分享出来,希望能对同样在职场打拼的朋友有些许的帮助,使你的工作更加高效、流畅。朋友们有问题请随时提出来,我们一起探讨学习。对数据分析有需要的公司、组织或个人可以直接联系我,及时为你提供专业的定制技术支持。