Vba 如何获取功能区自定义选项卡ID?

Vba 如何获取功能区自定义选项卡ID?,vba,ribbon,powerpoint,Vba,Ribbon,Powerpoint,我正在使用Power Point中的自定义功能区,我需要遍历所有选项卡并获取它们的ID Ribbon包含从不同项目(C++,C#)添加的选项卡作为加载项,我不知道它们的ID。 我正在使用VBA处理从功能区触发的事件 如何使用VBA从功能区中的所有选项卡获取ID 提前感谢。通过返回IAccessable对象的命令栏(“Ribbon”)访问功能区。您可以使用访问选项卡 AccessibleChildren _ Lib "oleacc.dll" _

我正在使用Power Point中的自定义功能区,我需要遍历所有选项卡并获取它们的ID

Ribbon包含从不同项目(C++,C#)添加的选项卡作为加载项,我不知道它们的ID。 我正在使用VBA处理从功能区触发的事件

如何使用VBA从功能区中的所有选项卡获取ID


提前感谢。

通过返回IAccessable对象的命令栏(“Ribbon”)访问功能区。您可以使用访问选项卡

AccessibleChildren _
            Lib "oleacc.dll" _
                (ByVal paccContainer As Object, _
                 ByVal iChildStart As Long, _
                 ByVal cChildren As Long, _
                       rgvarChildren As Variant, _
                       pcObtained As Long) _
            As Long
这将用所有子元素(选项卡)的列表填充数组,这些子元素也是IAccessable对象。您获得的ID是字符串,您可以遍历每个ID的子项以获取子菜单项,依此类推

这相当复杂,所以完成这项工作的最佳方法是从一个示例开始。幸运的是,这里有一个闪光的例子:

仔细检查一下那个密码