在显示Userform之前隐藏Excel应用程序

在显示Userform之前隐藏Excel应用程序,excel,vba,visibility,Excel,Vba,Visibility,下面的代码是用来在Excel VBA中隐藏工作簿的,但它不能像预期的那样工作,因为它仍然将应用程序显示为一个窗口 Private Sub Workbook_Open() Worksheets("Main Page").Activate 'ActiveWindow("GESTAO DE EXPEDIENTES.XLSM").Visible = False Windows("GESTAO DE EXPEDIENTES.XLSM").Visible = False Lo

下面的代码是用来在Excel VBA中隐藏工作簿的,但它不能像预期的那样工作,因为它仍然将应用程序显示为一个窗口

Private Sub Workbook_Open()
    Worksheets("Main Page").Activate
    'ActiveWindow("GESTAO DE EXPEDIENTES.XLSM").Visible = False
    Windows("GESTAO DE EXPEDIENTES.XLSM").Visible = False
    LoginDAFForm.Show
End Sub

您需要使用应用程序的
Visible
属性

Private Sub Workbook_Open()

    Application.Visible = False
    LoginDAFForm.Show

End Sub
我个人建议您在用户表单终止事件时显示应用程序。如果您同意,请将此代码添加到用户表单的代码模块中

Private Sub UserForm_Terminate()

    Application.Visible = True

End Sub

您应该使用
Application.Visible
属性隐藏应用程序。您使用的代码仅隐藏您提到的窗口。请参见下面的代码

Private Sub Workbook_Open()

Application.Visible = False

LoginDAFForm.Show

End Sub
强烈建议在关闭用户窗体时将
应用程序.Visible
属性设置为
True
。否则,您将无法看到正在打开的任何其他excel文件。你可以用K.Dᴀᴠɪ这是代码,我只是把它粘贴在这里

Private Sub UserForm_Terminate()

Application.Visible = True

End Sub

请注意:您不需要
工作表(“主页”)。请在此处激活
。它没有任何作用,一般来说,这不是一个好的做法,谢谢你,但它不能正常工作,因为它仍然显示表时,关闭任何形式。我想分享这个应用程序,感谢你@Zac我修改了答案以反映你的建议。@arcenio我想你需要把表格隐藏起来。这将对普通用户隐藏工作表,因为没有vba,任何隐藏工作表都无法取消隐藏。谢谢,但它不能正常工作,因为关闭任何窗体时,它仍会显示工作表。我想分享这个没有表格的应用程序(仅表格),这意味着表格不应该对其他人可见或可用,因为数据库在哪里…隐藏表格与您提出的问题无关,只是为了让您知道。您是在MAC还是windows上工作?