如何自动隐藏功能区,但仅适用于特定工作簿,并且仅在工作簿打开时针对该工作簿中的一个工作表?
当我使用以下代码时,按预期工作并隐藏功能区,但是当我打开另一个 excel 文件时,文件中的功能区也被隐藏。
Private Sub Workbook_Open()
Application.CommandBars.ExecuteMso "HideRibbon"
End Sub
以独特的方式命名工作表,例如"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"
,抛出错误,您使用哪个版本?
如果您愿意,请根据注释将上述"隐藏/显示行"替换为在您的版本中工作的行。