2009-03-05 124 views
7

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

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

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

在此先感谢。

回答

7

使用CommandBars(“Ribbon”)访问功能区,该功能返回IAccessible对象。通过使用

AccessibleChildren _ 
      Lib "oleacc.dll" _ 
       (ByVal paccContainer As Object, _ 
       ByVal iChildStart As Long, _ 
       ByVal cChildren As Long, _ 
         rgvarChildren As Variant, _ 
         pcObtained As Long) _ 
      As Long 

这将填补所有的子元素(标签),这也是的IAccessible对象的列表数组访问选项卡。您获得的ID是字符串,您可以遍历每个子项以获取子菜单项等。

这是相当复杂的,所以最好的方法来完成这个工作将从一个例子。幸运的是有一个闪闪发光的例子在这里:http://www.wordarticles.com/Shorts/RibbonVBA/RibbonVBADemo.htm

ribbon tabs

孔通过对一个代码。

相关问题