Создание новой вкладки надстройки VSTO вместо переименования - PullRequest
3 голосов
/ 08 августа 2011

У нас есть надстройка MS Word, которая в настоящее время использует и переименовывает вкладку надстройки в Word (для i-report). Проблема в том, что если на клиентах установлены другие надстройки, ленты из их надстроек также отображаются на вкладке i-report.

Существует ли простой способ использовать новую вкладку исключительно вместо переименования вкладки надстроек?

Код для вкладки в конструкторе выглядит следующим образом:

        this.tabiReport = new Microsoft.Office.Tools.Ribbon.RibbonTab();
        this.tabiReport.SuspendLayout();

        this.tabiReport.ControlId.ControlIdType = Microsoft.Office.Tools.Ribbon.RibbonControlIdType.Office;
        this.tabiReport.Groups.Add(this.grpConnection);         
        resources.ApplyResources(this.tabiReport, "tabiReport");
        this.tabiReport.Name = "tabiReport";

РЕДАКТИРОВАТЬ: Я полагаю, это как-то связано с положением коллекции вкладок для ленты. Я попытался изменить положение tabiReport со значения по умолчанию на BeforeOfficeId и AfterOfficeId, но затем при отладке я вижу загрузку надстройки при запуске, но на ленте нет вкладки.

Я также попытался использовать AfterOfficeId, а затем заполнить поле OfficeId с помощью "TabView "попытаться заставить его отображаться после вкладки вида, но он все еще не отображается. Есть идеи?

РЕДАКТИРОВАТЬ2: Хорошо, я выяснил, как это должно быть сделано: установив свойство ControlIdType на вкладку custom, но у меня все еще остается та же проблема, что он не отображается.

1 Ответ

5 голосов
/ 08 августа 2011

Решением этой проблемы было установить ControlIdType на custom.

Если для свойства position установлено значение Default, вкладка появится последней в списке.

Чтобы изменить положение вкладки, вы можете изменить PositionType на BeforeOfficeId (или AfterOfficeId) и заполнить OfficeId идентификатором вкладки, который должен отображаться до или после (например, TabView).

Полный список идентификаторов вкладок офиса можно найти здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...