Моя цель — просто предложить свою надстройку, если приложение Office запускается с определенным аргументом.
К сожалению, я не смог найти ничего, что могло бы помочь мне в этом. Я безуспешно пытался использовать надстройку загрузки приложений Office swtich /lc:Addin.dll
. Один из вариантов, который я рассматривал, заключался в том, чтобы создать все записи реестра надстроек Office во время запуска надстройки, однако это казалось чрезвычайно неуклюжим и требовало больших накладных расходов. Кроме того, для меня нарушителем соглашения было требование повышенных привилегий для создания реестра, чтобы инициализировать надстройку.
Я решил, что моя надстройка ничего не делает при запуске, если не существует определенной переменной среды.
Чтобы сделать это таким образом, мне нужно либо сделать ленту невидимой по умолчанию, либо показать ленту при обнаружении переменной env. Или, наоборот, по умолчанию лента видна и скрыта при обнаружении переменной env.
Вещи, которые я пробовал
- Вкладка ленты настроек
Globals.Ribbons.MyRibbon.MyTab.visible = false
. - Аннулирование ленты
Globals.Ribbons.MyRibbon.RibbbonUi.Invalidate()
. - Аннулирование вкладки после установки видимого значения false
Globals.Ribbons.MyRibbon.RibbbonUi.InvalidateControl(tabCtrlId)
.
Опробованные вещи не включают в себя десятки вещей, чтобы попытаться загрузить надстройку только при определенных обстоятельствах.