Основная проблема, которую я пытался решить, заключается в применении пользовательских привязок клавиш для внутренних методов надстройки Word VSTO (разработано в C #):
Globals.ThisAddIn.Application.KeyBindings.Add(
Word.WdKeyCategory.wdKeyCategoryCommand,
"MyMethodName",
myKey,
ref _missing,
ref _missing);
Проблема в том, что этот код всегда вызывает исключение, потому что (Microsoft MSDN): «в объектной модели или приложении Word нет способа привязать что-либо, кроме макросов VBA».
То, что пытаются сделать другие разработчики, - это реализовать обходной путь с помощью метода VBA, который назначает привязки клавиш для обратных вызовов VBA при загрузке надстройки и вызывает C # addin из этих обратных вызовов по очереди. (подробнее см. вызов VBA из C # )
Эта идея имеет шанс на жизнь: .NET AddIn и VBA-шаблон Word с поддержкой. Но в моем проекте мне нужно доставить это дополнение в одном пакете Click Once на компьютеры конечных пользователей (внутри корпоративной сети, где настройки безопасности не являются проблемой).
Итак, вопрос таков: как создать смесь сценариев C # Add-In (Ribbon) и VBA в одном пакете развертывания?
Кто-нибудь может поделиться таким опытом?