2009-03-05 15 views
7

Estoy trabajando con una cinta personalizada en Power Point, necesito recorrer todas las pestañas y obtener su ID.¿Cómo obtener Ribbon custom Tabs IDs?

La cinta contiene pestañas agregadas de diferentes proyectos (C++, C#) como complementos y no sé sus identificaciones. Estoy usando VBA para manejar los eventos disparados desde la cinta de opciones.

¿Cómo puedo hacer para obtener la ID de todas las pestañas en la cinta usando VBA?

Gracias de antemano.

Respuesta

7

Se accede a la cinta mediante CommandBars ("Cinta de opciones") que devuelve un objeto IAccessible. Se accede a las pestañas mediante el uso de

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

Esto va a llenar una matriz con una lista de todos los elementos secundarios (pestañas) que también son objetos IAccessible. Los ID que obtienes son cadenas, y puedes recorrer los elementos secundarios de cada uno para obtener elementos del submenú, y así sucesivamente.

Es bastante complicado, por lo que la mejor manera de hacerlo sería trabajar con un ejemplo. Por suerte para ti hay un ejemplo reluciente aquí: http://www.wordarticles.com/Shorts/RibbonVBA/RibbonVBADemo.htm

ribbon tabs

poro a través del código en que uno.