我正在尝试包含一个按钮,用于文本框的文本换行和锁定形状的纵横比。我可以让按钮自行工作,但我似乎无法获得 getPressed 值来反映形状的初始状态。
即如果一个形状已经有.LockAspectRatio = True
,并且我选择了它,自定义按钮的getPressed 属性不会更改为True。当我按下按钮时 sub 仍然运行,它是一条简单的 线.LockAspectRatio = not .LockAspectRatio
,但功能区上的按钮显示为“按下”看起来很傻,但形状的实际属性是 False。
我的问题是如何获得 getPressed 值以反映形状的初始值,并将其显示在功能区中。
我从其他帖子中收集到需要一个子来处理功能区,但我不确定这样做的目的,以下是我到目前为止所拥有的。
Option Explicit
Public isPressed As Boolean
Public myRibbon As IRibbonUI
Sub toggleAR(ribbon As IRibbonUI)
Set myRibbon = ribbon
End Sub
Sub getPressedAR(control As IRibbonControl, ByRef returnedVal)
Select Case control.Id
Case "AspectRatio"
returnedVal = isPressed
End Select
End Sub
Sub AspectRatio(control As IRibbonControl, pressed As Boolean)
Select Case control.Id
Case "AspectRatio"
If ActiveWindow.Selection.ShapeRange.LockAspectRatio = msoTrue Then
isPressed = True
Else
isPressed = False
End If
ActiveWindow.Selection.ShapeRange.LockAspectRatio = Not ActiveWindow.Selection.ShapeRange.LockAspectRatio
End Select
End Sub
提前致谢