如何在工作簿打开时自动隐藏功能区,但仅对特定工作簿以及该工作簿中的一个工作表自动隐藏?
当我使用以下代码时,按预期方式工作并隐藏功能区,但是当我打开另一个Excel文件时,文件中的功能区也被隐藏。
Private Sub Workbook_Open()
Application.CommandBars.ExecuteMso "HideRibbon"
End Sub
预先感谢您的帮助。
答案 0 :(得分:1)
以独特的方式命名工作表,例如“ aaa”,然后在ThisWorkbook
模块内部编写以下内容:
Private Sub Workbook_Activate()
If ActiveSheet.Name = "aaa" Then
'Application.CommandBars.ExecuteMso "HideRibbon"
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)" 'code to hide ribbon.
Else
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)" 'code to show ribbon.
End If
End Sub
Private Sub Workbook_Deactivate()
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)" 'code to show ribbon.
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Name = "aaa" Then
'Application.CommandBars.ExecuteMso "HideRibbon"
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)" 'code to hide ribbon.
Else
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)" 'code to show ribbon.
End If
End Sub
已在Excel 2007和Excel 2010中进行了测试,并且工作正常。
顺便说一句,在Excel 2007和Excel 2010中测试过Application.CommandBars.ExecuteMso "HideRibbon"
会引发错误,请问您使用哪个版本?
如果愿意,请根据注释将上面的“隐藏/显示行”替换为在您的版本中有效的行。