Excel 有没有办法防止用户取消隐藏工作簿?
我熟悉隐藏工作表和防止用户取消隐藏它们;但是,有没有一种方法可以使用VBA使工作簿/窗口非常隐藏,或者至少需要密码才能取消隐藏 对于我的情况,我必须打开工作簿,但对用户隐藏。我问这个问题的原因是我注意到,尽管我已经用密码隐藏和保护了我的工作簿,但我仍然可以从任何其他打开的工作簿中取消隐藏它Excel 有没有办法防止用户取消隐藏工作簿?,excel,vba,Excel,Vba,我熟悉隐藏工作表和防止用户取消隐藏它们;但是,有没有一种方法可以使用VBA使工作簿/窗口非常隐藏,或者至少需要密码才能取消隐藏 对于我的情况,我必须打开工作簿,但对用户隐藏。我问这个问题的原因是我注意到,尽管我已经用密码隐藏和保护了我的工作簿,但我仍然可以从任何其他打开的工作簿中取消隐藏它 Sub hideWorkbook() Dim xlApp As Excel.Application Set xlApp = New Excel.Application xlApp.Workbooks.O
Sub hideWorkbook()
Dim xlApp As Excel.Application
Set xlApp = New Excel.Application
xlApp.Workbooks.Open ThisWorkbook.FullName 'Assign current workbook to new instance of Excel.
xlApp.Visible = True 'Set instance to visible.
Set xlApp = Nothing 'Set object to nothing.
Application.Visible = False 'As recommended, made application invisible.
Application.DisplayAlerts = False 'Turn off alerts.
ThisWorkbook.Windows(1).Visible = False 'Hide the workbook opened.
Application.DisplayAlerts = True 'Turn on alerts.
End Sub
感谢VBASIC208的评论和对其建议的扩展,以下内容对我有效。我没有使用
Application.Visible=False
,而是使用Application.Windows()
选择了特定的工作簿窗口,并使其不可见
Sub hideWorkbook()
Dim xlApp As Excel.Application
Set xlApp = New Excel.Application
xlApp.Workbooks.Open ThisWorkbook.FullName 'Open workbook in new Excel instance.
xlApp.Visible = True 'Set instance to visible.
Set xlApp = Nothing 'Set object to nothing.
Application.Windows("MyWorkbook").Visible = False 'Make the specific window invisible.
End Sub
您可以使用:
Sub test()
ActiveSheet.Visible = xlSheetVeryHidden
End Sub
您可以在另一个
Excel
实例中打开它,将Visible
属性设置为False
。但如果没有进一步的信息,很难说这是个好主意。添加更多信息和/或一些代码,我们可以看到你计划做什么。我的意思是你向我们展示你实际使用它做什么的代码。你打开它不是为了让它到处都是。另外,Workbook\u Open
是为肯定无法使用的工作簿事件保留的。@vbasic208感谢您的回复!我更新了代码以显示我尝试的内容。虽然我能够在另一个Excel
实例中打开它,并将属性设置为False
,但它隐藏了其他Excel工作簿。太近了@VBASIC208好的,我想我明白了。我将张贴答案,以显示我有什么。