Clearing Off Custom Menu Items in Word (Norm Estabrook)

Last month I posted this article that described how to prevent your add-in from creating duplicate menu items in Word.  If you have been experimenting with customization contexts, you might have several menu items that appear when you right click a document. The article that I posted shows how to prevent this from happening for your users, but what about removing the items that appear in your instance of Word – the one that you use for testing?

To clear those off, just add a bit of code to the startup event handler of any old Word add-in.  Set the customization context to each possible culprit (template, document, attached template etc.) and then call the Reset method. Be sure to save the template or document after words. 

Note – I wouldn’t recommend that you put this code into an add-in that you send out to users as this code will remove all customizations in each context (Even ones that your add-in has not created!).  However, it is a cool way to clear up left over menu items from the instance of Word that you use for testing.

private void ResetShortcutMenu()
    myApplication.CustomizationContext = myApplication.ActiveDocument;


    myApplication.CustomizationContext = myApplication.ActiveDocument.get_AttachedTemplate();


    myApplication.CustomizationContext = customTemplate;


    myApplication.CustomizationContext = myApplication.NormalTemplate;