Personalizar la cinta de PowerPoint en tiempo de ejecución
Estoy desarrollando un complemento de PowerPoint y me gustaría desactivar temporalmente algunos de los controles de la cinta de opciones mientras la aplicación del complemento escorriendo.
He desarrollado una solución que funciona como se esperaba cuando el complemento eshabilitado, pero esto no es realmente adecuado, porque desactiva algunos controles de uso común, como SlideMaster, SlideSorter, etc.
Estoy usando PowerPoint 2010.
Aquí hay un ejemplo de XML que está bien formado:
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<ribbon startFromScratch="false">
<tabs>
<tab idMso="TabView">
<group idMso="GroupMasterViews" getVisible="GetVisible"/>
</tab>
</tabs>
</ribbon>
</customUI>
Aquí hay una muestra de devolución de llamada, tomada deesta respuesta SO:
Sub GetVisible(control As IRibbonControl, ByRef returnedVal As Boolean)
If TrapFlag Then
returnedVal = False ' control is hidden
Else:
returnedVal = True ' control is not hidden
End If
End Sub
Cuando navego a laView
Cinta, una alerta me informa que:
La macro no se puede encontrar o se ha deshabilitado debido a la configuración de seguridad.
Presumiblemente esto se refiere a laGetVisible
¿macro? Mis ajustes de macros son:
He estado luchando con lo que he encontrado hasta ahora, pero hasta ahora no he podido implementar sugerencias. La mayoría de las respuestas son específicas de Excel. Realmente no he encontrado nada específico de PowerPoint, pero pensé que no debería ser terriblemente difícil portar el código de una aplicación a otra, como lo he hecho para muchas otras cosas en VBA.
También he intentadoesta método, pero elSetCustomUI
no está disponible en PowerPoint en laApplication
oPresentation
nivel, tal vez es único o solo aplicable a Visual Studio?