Настройка ленты в MS Word 2010 с автоматизацией в C # - PullRequest
1 голос
/ 19 декабря 2010

Я пытаюсь автоматизировать MS Word из моего приложения на C # и у меня возникла проблема с изменением интерфейса ленты.Все примеры, которые я смог найти, используют интерфейс IRibbonExtensibility, который доступен только в Addins.Возможно ли это сделать с помощью автоматизации?

Ответы [ 2 ]

2 голосов
/ 19 декабря 2010

с использованием интерфейса IRibbonExtensibility, который доступен только из надстроек

Это означает, что он не будет работать через автоматизацию, интерфейс не отображается в библиотеке типов вне процессаВам придется использовать VSTO для написания надстройки, для начала используйте шаблон проекта надстройки C # + Office + Word 2007.

0 голосов
/ 21 декабря 2010

Я создал небольшую надстройку ATL, которая реализует 2 интерфейса: IDTExtensibility2 и IRibbonExtensibility XML настройки просто загружается из файла.

Внутри кода C # кодирование действительно простое:

        RegistryKey key = Registry.CurrentUser.CreateSubKey(@"Software\Microsoft\Office\Word\Addins\RibbonLoaderLib.RibbonLoader");
        key.SetValue("LoadBehavior",2,RegistryValueKind.DWord);
        key.SetValue("Description","Ribbon Loader Add-In",RegistryValueKind.String);
        key.SetValue("FriendlyName","Ribbon Loader Add-In",RegistryValueKind.String);
        wordApp_.COMAddIns.Item("RibbonLoaderLib.RibbonLoader").Connect = true;           
...