Кнопка ленты Excel toggleButton: Сжать по размеру (текста)

Это кнопка toggleButton для включения/выключения функции «Уменьшить размер текста».

Проблема: он не обновляется должным образом.

Как сделать так, чтобы он всегда «показывал» состояние активных ячеек?

' -- XML

<customUI xmlns = "http://schemas.microsoft.com/office/2009/07/customui" onLoad = "LoadRibbon">
  <ribbon>
    <tabs>
      <tab id = "Tabv3.1" label = "TOOLS" insertAfterMso = "TabHome">                  
        <group id = "Group6" label = "Alignment">
          <toggleButton id = "ToggleButton1" 
                        label = "Shrink to fit" 
                        imageMso = "AsianLayoutCharacterScaling" 
                        size = "large"
                        getPressed = "ToggleButton1_Startup" 
                        onAction = "ToggleButton1_OnAction"/>       
        </group>           
      </tab>
    </tabs>
  </ribbon>
</customUI>


' -- Standard Module

Option Explicit
Public RibUI As IRibbonUI

Sub LoadRibbon(Ribbon As IRibbonUI)
Set RibUI = Ribbon
    RibUI.InvalidateControl "ToggleButton1"
End Sub

' ToggleButton 1 Startup
Sub ToggleButton1_Startup( _
   ByRef control As IRibbonControl, _
   ByRef returnedVal)
   returnedVal = (Selection.ShrinkToFit = True)
End Sub

' ToggleButton 1 Click
Sub ToggleButton1_OnAction( _
   ByRef control As IRibbonControl, _
   ByRef pressed As Boolean)
   Select Case pressed
      Case True
            Selection.ShrinkToFit = True
      Case False
            Selection.ShrinkToFit = False
   End Select
End Sub


' -- ThisWorkbook

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    RibUI.InvalidateControl "ToggleButton1"
End Sub
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
0
0
141
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
  • Использование Workbook_SheetSelectionChange для запуска обновления ленты

Документация Майкрософт:

Событие Workbook.SheetSelectionChange (Excel)

' -- ThisWorkbook

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    RibUI.InvalidateControl ("ToggleButton1")
End Sub

Другие вопросы по теме