尝试用VBA隐藏Excel时如何避免打开灰屏?

问题描述 投票:0回答:1

我正在学习在 Excel 中使用 VBA 制作应用程序。我试图制作一个在开始时直接打开用户表单的应用程序,而 Excel 被隐藏。

想法是:打开文件,您只看到用户表单,而不必看到 Excel。

但是,当我尝试使用 VBA 隐藏工作簿时,它会另外打开空的灰色窗口。我只能在任务管理器中关闭这些窗口。

为什么会发生这种情况以及如何解决?

隐藏Excel时灰窗问题

我尝试在 vba 编辑器中的对象

ThisWorkbook
上使用此代码:

Private Sub Workbook_Activate()

    Application.Visible = False
    UserForm1.Show

    End Sub

它隐藏了 Excel 主屏幕,但显示了我不想要的那些灰色窗口。然后我尝试不将代码放入

ThisWorkbook
对象中。相反,我在模块中使用了这样的代码:

Sub Auto_open()

    UserForm1.Show

    End Sub

但无论如何它也会打开灰色窗口。

excel vba
1个回答
0
投票

我认为答案不是试图隐藏应用程序,而是将其移出视图。试试这个代码:

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
© www.soinside.com 2019 - 2024. All rights reserved.