Настройка ленты 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 макрос? Мои настройки макроса:

Включить все макросы (не рекомендуется)Доверительный доступ к объектной модели проекта VBA

Я боролся с тем, что нашел до сих пор, но пока не могу реализовать предложения. Большинство ответов относятся к Excel. На самом деле я не нашел ничего особенного для PowerPoint, но полагал, что переносить код из одного приложения в другое не должно быть очень сложно, как я сделал это для многих других вещей в VBA.

Я также пыталсяэто метод, ноSetCustomUI недоступен в PowerPoint наApplication или жеPresentation уровень, возможно, он уникален или применим только к Visual Studio?

Ответы на вопрос(1)

Ваш ответ на вопрос