Намного проще создать где-нибудь глобальную статическую переменную (например, в ThisWorkbook).
public static Ribbon ribbonref;
Затем в коде класса ленты, в обработчике события для события инициализации (я думаю,метод называется Ribbon1_StartUp()
, но я не уверен), установите переменную:
private void Ribbon1_StartUp(object sender, EventArg e)
{
ThisWorkbook.ribbonref = this;
}
(записано из памяти, поэтому может быть не совсем правильным)
Затем можно использовать ribbonref
для доступа к вашему экземпляру ленты.