我正在使用Power Point中的自定义功能区,我需要遍历所有选项卡并获取它们的ID.
功能区包含从不同项目(C++,C#)添加的选项卡作为插件,我不知道他们的ID.我正在使用VBA来处理从功能区发起的事件.
如何使用VBA从功能区中的所有选项卡中获取ID?
提前致谢.
使用CommandBars("Ribbon")访问功能区,CommandBars返回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
在那个上面编写代码.