如何自动隐藏功能区,但仅适用于特定工作簿,并且仅适用于该工作簿中的一个工作表



如何自动隐藏功能区,但仅适用于特定工作簿,并且仅在工作簿打开时针对该工作簿中的一个工作表?

当我使用以下代码时,按预期工作并隐藏功能区,但是当我打开另一个 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",抛出错误,您使用哪个版本?

如果您愿意,请根据注释将上述"隐藏/显示行"替换为在您的版本中工作的行。

相关内容

最新更新