Добрый день, уважаемые знатоки. Вопрос по работе с фиксирующей кнопкой на ленте, может кто-то подскажет. Формирую для надстройки на ленте фиксирующую кнопку, например, стандартную функцию выделение шрифта жирным.
Sub Mac_Bold (control As IRibbonControl, ByRef Pressed) 'непосредственно макрос
Selection.Font.Bold = Not Selection.Font.Bold
End Sub
Sub Mac_BoldGetPR(control As IRibbonControl, ByRef Pressed) 'макрос на свойство GetPressed
Pressed = Selection.Font.Bold
End Sub
Все работает, кнопка фиксируется, макрос запускается. Внимание вопрос - как сделать так, чтобы кнопка обновлялась при обновлении листа. Например, чтобы при выделении ячейки с жирным шрифтом, кнопка была бы нажата, а при выделении ячейки без жирного шрифта - отжималась и т.д. Вобщем так, как это происходит со стандартными фиксирующими кнопками на Главной вкладке. При моем коде кнопка всегда остается в одном положении.
Private WithEvents App As Application
Private Sub Workbook_Open()
Set App = Application
End Sub
Private Sub App_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
g_objRibbon.InvalidateControl "d111"
End Sub
Код
Public g_objRibbon As IRibbonUI
Public Sub BoldLoad(Ribbon As IRibbonUI)
Set g_objRibbon = Ribbon
End Sub
Sub Mac_Bold(control As IRibbonControl, ByRef Pressed) 'непосредственно макрос
Selection.Font.Bold = Not Selection.Font.Bold
End Sub
Sub Mac_BoldGetPR(control As IRibbonControl, ByRef Pressed) 'макрос на свойство GetPressed
Pressed = Selection.Font.Bold
End Sub