Sto sviluppando un componente aggiuntivo di PowerPoint e desidero disattivare temporaneamente alcuni controlli della barra multifunzione mentre l'applicazione aggiuntiva è in esecuzione.Personalizzazione della barra di PowerPoint in fase di esecuzione
ho sviluppato una soluzione che funziona come previsto quando il componente aggiuntivo è abilitato , ma questo in realtà non è adeguata, perché disabilita alcuni controlli comunemente utilizzati, come SlideMaster, SlideSorter, ecc
I sto usando PowerPoint 2010.
Ecco un XML di esempio che è ben formato:
<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>
Ecco un callback di esempio, tratto da this SO answer:
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
Se navigando al nastro View
, un avviso mi informa che:
La macro non può essere trovato o è stato disattivato a causa delle impostazioni di sicurezza.
Presumibilmente questo si riferisce al GetVisible
macro? Le mie impostazioni macro sono:
- Attiva tutte le macro (non raccomandato)
- attendibile l'accesso al VBA progetto oggetto del modello
ho lottato con quello che ho trovato finora, ma finora non implementare suggerimenti. La maggior parte delle risposte sono specifiche per Excel. Non ho davvero trovato nulla di specifico per PowerPoint, ma ho pensato che non dovrebbe essere terribilmente difficile portare il codice da un'applicazione a un'altra, come ho fatto per molte altre cose in VBA.
Ho anche provato this metodo, ma il SetCustomUI
non è disponibile in PowerPoint a livello Application
o Presentation
, forse è unico o applicabile solo a Visual Studio?