Скрыть отдельные кнопки ленты

У меня есть пользовательская лента Excel и надстройка Excel, которая содержит класс, который создается один раз при открытии книги. Основываясь на некоторых атрибутах класса, мне нужно скрыть определенные кнопки из пользовательской ленты (все на одной вкладке).

Моя заказная лента:






    
    
    
    


 



Затем у меня есть следующие макросы VBA в модуле, чтобы загрузить пользовательскую ленту и / или отключить ее:

Public Sub loadCustom(ribbon As IRibbonUI)

    Set RibUI = ribbon

    If workbookTitle = "myWorkbook" Then
        MyTag = "show"
    Else
        MyTag = False
        RefreshRibbon MyTag
    End If

End Sub

Sub GetVisible(control As IRibbonControl, ByRef visible)

    If MyTag = "show" Then
        visible = True
    Else
        If control.Tag Like MyTag Then
            visible = True
         Else
            visible = False
        End If
    End If
 End Sub

Sub RefreshRibbon(Tag As String)
    MyTag = Tag
    If RibUI Is Nothing Then
        MsgBox "Error, Save/Restart your workbook"
    Else
        RibUI.Invalidate
    End If
End Sub

В моей конкретной книге, для которой должна загружаться лента, у меня есть скрытый лист, из которого класс модуля моего класса считывает значение для каждой кнопки, чтобы определить, должна ли она отображаться или нет. Однажды я'Вы прочитали это значение, как я могу скрыть отдельную кнопку? Все примеры янашел только кажется, что работают для вкладок. Могу ли я передать ленточный интерфейс в класс и пройти через каждый элемент управления? У меня нетЯ не смог найти метод для этого. Спасибо за любую помощь!

Ответы на вопрос(2)

Ваш ответ на вопрос