Я пытаюсь создать кнопку переключения на ленте Word, которая может управлять настройкой форматирования дорожки документа, которая определяет, отслеживаются ли изменения форматирования, такие как полужирный и курсив, отслеженными изменениями. Этот параметр имеет пользовательский интерфейс в версии Word для Windows, но не в Mac, поэтому я пытаюсь использовать макрос для его отображения.
Проблема в том, что, хотя кнопка правильно «вниз», когда открывается новый документ (потому что форматирование дорожки включено по умолчанию), при первом нажатии на нее кнопка идет «вверх», но форматирование все еще отслеживается , После этого он переключается в противоположность состоянию кнопки (то есть выключается, когда кнопка находится в положении «вниз», включается, когда кнопка находится в состоянии «вверх»).
У меня есть длина создания кнопки в ленте XML следующим образом:
<toggleButton id="ToggleTrackFormatting" label="Track formatting" screentip="Should formatting changes be tracked when Track Changes is on?" getPressed="GetTrackFormattingButtonPressed" onAction="ToggleTrackFormattingButton"/>
Обратные вызовы такие:
'Callback for ToggleTrackFormatting onAction
Sub ToggleTrackFormattingButton(control As IRibbonControl, pressed As Boolean)
Select Case pressed
Case True
TurnOffTrackFormattingOptions
Case False
TurnOnTrackFormattingOptions
End Select
End Sub
'Callback for ToggleTrackFormatting getPressed
Sub GetTrackFormattingButtonPressed(control As IRibbonControl, ByRef returnedVal)
returnedVal = ActiveDocument.TrackFormatting
End Sub
и
Sub TurnOnTrackFormattingOptions()
ActiveDocument.TrackFormatting = True
End Sub
Sub TurnOffTrackFormattingOptions()
ActiveDocument.TrackFormatting = False
End Sub
Что-то не так с обратным вызовом getPressed или что-то еще происходит?