注册 登录
编程论坛 VB6论坛

请问,用VBA代码,可以用户自定义Ribbon控件吗?

mansohu 发布于 2023-07-18 21:57, 715 次点击
VB加加载项可以用IRibbonExtensibility_GetCustomUI创建用用户自己的图标,请问可以用VBA创建Ribbon 控件呢?
谢谢
1 回复
#2
约定的童话2023-07-19 07:32
确保你的VBA项目引用了"Microsoft Office XX.0 Object Library"
在类模块中定义一个公共变量 `Private rbE As IRibbonExtensibility`;
然后添加一个公共函数:

Public Function GetCustomUI(ribbonID As String) As String
    Dim xml As String
   
    ' 在这里编写你的自定义UI的XML代码,可以使用RibbonX语法
    xml = "<customUI>...</customUI>"
   
    GetCustomUI = xml
End Function
 在主代码模块或其他模块中创建一个实例,并调用GetCustomUI方法:

Dim ribbonHandler As New RibbonHandler
Dim xml As String

' 调用GetCustomUI方法获取自定义UI的XML代码
xml = ribbonHandler.GetCustomUI(RibbonID)

' 使用获取到的XML代码来加载自定义UI
ThisWorkbook.CustomUI = xml
1