我正在学习在 Excel 中使用 VBA 制作应用程序。我试图制作一个在开始时直接打开用户表单的应用程序,而 Excel 被隐藏。
想法是:打开文件,您只看到用户表单,而不必看到 Excel。
但是,当我尝试使用 VBA 隐藏工作簿时,它会另外打开空的灰色窗口。我只能在任务管理器中关闭这些窗口。
为什么会发生这种情况以及如何解决?
我尝试在 vba 编辑器中的对象
ThisWorkbook
上使用此代码:
Private Sub Workbook_Activate()
Application.Visible = False
UserForm1.Show
End Sub
它隐藏了 Excel 主屏幕,但显示了我不想要的那些灰色窗口。然后我尝试不将代码放入
ThisWorkbook
对象中。相反,我在模块中使用了这样的代码:
Sub Auto_open()
UserForm1.Show
End Sub
但无论如何它也会打开灰色窗口。
我认为答案不是试图隐藏应用程序,而是将其移出视图。试试这个代码:
Option Explicit
Private myWindow As Window
Public Sub showForm()
UserForm1.Show
Set myWindow = Application.Windows(1)
myWindow.WindowState = xlNormal
'// move the window out of view here
myWindow.Top = -1000
UserForm1.Top = 50
UserForm1.Left = 50
End Sub
Public Sub hideForm()
myWindow.Top = 100
myWindow.WindowState = xlNormal
Unload UserForm1
End Sub