VBA-如果打开另一个工作簿,则Workbook_Open()上的Application.Visible = False不会保持为False

时间:2019-02-07 15:29:57

标签: excel vba userform

下面的代码可用于隐藏工作簿并在打开的工作簿上显示UserForm。但是,当我在旁边打开另一个工作簿时,该工作簿随即出现,好像application.visible在后台更改为true一样。有办法防止这种情况吗?

Private Sub Workbook_Open()
    ThisWorkbook.Application.Visible = False
    UserForm1temp.Show
End Sub

在此先感谢您的帮助,我将相应地标记正确答案并接受最终决定。

2 个答案:

答案 0 :(得分:1)

在窗口中使工作簿以及应用程序不可见

 Private Sub Workbook_Open()
   Application.Visible = False
   ThisWorkbook.Windows(1).Visible = False
   UserForm1.Show
 End Sub

答案 1 :(得分:0)

如果意图是用户只看到表单,则使用 WindowState 属性比使用 Application.Visible 属性更安全。不是一个强大的解决方案,但可以完成工作。

  Private Sub Workbook_Open()
      Application.WindowState = xlMinimized
      AutomatedEmailSender.Show
   End Sub

然后,将关闭工作簿代码移至 UserForm_Terminate 事件。

 Private Sub UserForm_Terminate()
            ThisWorkbook.Close , False
 End Sub