2016-12-17 5 views
0

J'essaie d'invalider une liste déroulante sur mon ruban d'interface utilisateur personnalisée que j'ai créé dans Excel 2013. Je veux essentiellement pouvoir forcer la liste déroulante à recharger et déclencher son événement de chargement. J'ai ajouté ce qui suit "onLoad" à mon en-tête de code XML:Excel 2013 Invalider Contrôle du ruban ne fonctionne pas

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="MyAddInInitialize"> 

J'ai ajouté le VBA suivant à mon classeur:

Dim MyRibbon As IRibbonUI 

Sub MyAddInInitialize(Ribbon As IRibbonUI) 
    Set MyRibbon = Ribbon 
End Sub 

Sub myFunction() 
    'Invalidates the caches of all of this add-in’s controls 
    MyRibbon.InvalidateControl() 
End Sub 

J'ai reçu cette information de https://msdn.microsoft.com/en-us/library/microsoft.office.core.iribbonui.invalidate.aspx

Mais je Je n'arrive pas à comprendre comment le faire fonctionner. Je reçois toujours une erreur "Compiler error Expected: =" lorsque le sous-menu "myFunction" est en cours d'exécution. Je l'ai essayé de mettre l'ID dans le menu déroulant() entre guillemets:

MyRibbon.InvalidateControl ("CIB_Dropdown") 

Mais, cela ne fonctionne pas et me donne toujours l'erreur « Variable objet ou bloc non défini ». J'ai essayé tant de choses et je suis perdu ici. Qu'est-ce que j'oublie ici?

Répondre