@ drventure прав, вы должны определить свою ленту впереди, а затем показать / скрыть различные кнопки на ленте.
Что может помочь вам, хотя некоторые функции в проекте, над которым я работал, VSTO Contrib, позволяют создавать ViewModel, который будет создаваться для каждого открытого документа, и обнаруживать и связывать лента xml по договоренности.
В вашем случае это будет означать, что вы можете связать видимость кнопок ленты со свойством на модели представления, и вам не нужно беспокоиться о синхронизации окна / документов. Прочитайте http://jake.ginnivan.net/vsto-contrib/ribbon-factory и посмотрите, поможет ли это решить вашу проблему с помощью кучи без кода =)