Настройка ленты PowerPoint во время выполнения
Я занимаюсь разработкой надстройки PowerPoint и хотел бы временно отключить некоторые элементы управления ленты, пока приложение надстройкиБег.
Я разработал решение, которое работает, как и ожидалось, когда надстройкавключен, но это не совсем адекватно, поскольку отключает некоторые часто используемые элементы управления, такие как SlideMaster, SlideSorter и т. д.
Я использую PowerPoint 2010.
Вот пример XML, который правильно сформирован:
<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>
Вот пример обратного вызова, взятый изэтот так ответ:
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
Когда я перехожу кView
лента предупреждает меня, что:
Макрос не найден или отключен из-за настроек безопасности.
Предположительно это относится кGetVisible
макрос? Мои настройки макроса:
Я боролся с тем, что нашел до сих пор, но пока не могу реализовать предложения. Большинство ответов относятся к Excel. На самом деле я не нашел ничего особенного для PowerPoint, но полагал, что переносить код из одного приложения в другое не должно быть очень сложно, как я сделал это для многих других вещей в VBA.
Я также пыталсяэто метод, ноSetCustomUI
недоступен в PowerPoint наApplication
или жеPresentation
уровень, возможно, он уникален или применим только к Visual Studio?