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?