Excel VBA通过选择启用功能区按钮
我正在试图找出如何根据选择启用功能区按钮,我知道我需要使用工作表\u SelectionChange事件,但我不确定如何继续。我已经用尽了所有的选择来寻找如何做到这一点,是否有人可以帮助这一点,请,我已经问了Excel先生,但没有回答我需要什么。 我正在寻找的示例是:Excel VBA通过选择启用功能区按钮,excel,ribbonx,vba,Excel,Ribbonx,Vba,我正在试图找出如何根据选择启用功能区按钮,我知道我需要使用工作表\u SelectionChange事件,但我不确定如何继续。我已经用尽了所有的选择来寻找如何做到这一点,是否有人可以帮助这一点,请,我已经问了Excel先生,但没有回答我需要什么。 我正在寻找的示例是: 如果选择了列,则启用功能区按钮a;如果选择了行,则启用功能区按钮b使用功能区回调并在适当的情况下调用或。有关更多信息,请参阅 可以使用VBA宏或COM加载项中的回调过程自定义功能区UI。对于外接程序实现的每个回调,都会缓存响应。例
如果选择了列,则启用功能区按钮a;如果选择了行,则启用功能区按钮b使用功能区回调并在适当的情况下调用或。有关更多信息,请参阅 可以使用VBA宏或COM加载项中的回调过程自定义功能区UI。对于外接程序实现的每个回调,都会缓存响应。例如,如果外接程序编写器为按钮实现了
getImage
回调过程,则调用该函数一次,加载图像,然后如果需要更新图像,则使用缓存的图像,而不是调用该过程。此过程保持不变,直到代码通过使用Invalidate
方法发出缓存值无效的信号,此时再次调用回调过程并缓存返回响应。然后,外接程序或VBA宏可以通过调用Refresh
方法强制立即更新UI
在自定义UI XML文件中,需要声明onLoad
回调:
<customUI … onLoad=”MyAddInInitialize” …>
阅读以下文章中有关Fluent UI(又称Ribbon UI)的更多信息:
End Sub
子OnAction按钮(控件作为IRIBOnControl)
End Sub
Sub-GetEnabled(控件作为IRIBOnControl,ByRef已启用)
End Sub
您知道如何启用功能区按钮吗?请分享您目前拥有的代码。这里有两个步骤:在选择更改时执行某些操作,以及启用功能区按钮。这些步骤中的每一步都有很多现有的示例,请努力。这是我目前为止的示例,但我还是一个新手。不知道如何在这里添加代码
Dim MyRibbon As IRibbonUI
Sub MyAddInInitialize(Ribbon As IRibbonUI)
Set MyRibbon = Ribbon
End Sub
Sub myFunction()
‘ Invalidates the caches of all of this add-in’s controls
MyRibbon.Invalidate()
End Sub
`<separator id="MoveSep" />`
Set oRibbon = ribbon
bEnabled = True
Select Case control.ID
Case "MoveColumnLeft"
bEnabled = enabled
oRibbon.Invalidate
Case "MoveColumnRight"
bEnabled = enabled
oRibbon.Invalidate
End Select
`Select Case control.ID
Case "MoveColumnLeft"
enabled = enabled
Case "MoveColumnRight"
enabled = enabled
End Select