Как автоматически скрыть ленту, но только для определенной рабочей книги и только для одной рабочей таблицы в этой рабочей книге - PullRequest
0 голосов
/ 12 апреля 2019

Как автоматически скрыть ленту, но только для определенной рабочей книги и только для одной рабочей таблицы в этой рабочей книге при открытии рабочей книги?

При использовании приведенного ниже кода работает должным образом и скрывает ленту, но при открытииВ других файлах Excel лента в файлах также скрыта.

Private Sub Workbook_Open()
    Application.CommandBars.ExecuteMso "HideRibbon"
 End Sub

Заранее благодарю за помощь.

1 Ответ

1 голос
/ 12 апреля 2019

Назовите рабочий лист уникальным способом, например, "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 и работает нормально.

Кстати, протестировав Application.CommandBars.ExecuteMso "HideRibbon" в Excel 2007 и Excel 2010, выдает ошибку, какую версию вы используете?

Если вы предпочитаете, замените вышеприведенные «скрыть / показать строки»,с теми, которые работают в вашей версии согласно комментариям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...