我正在尝试从我的C#应用程序自动化MS Word,并且在更改功能区UI时遇到问题。 我能找到的所有样品都使用IRibbonExtensibility接口,该接口仅可从Addins获得。 是否可以使用自动化执行此操作?
答案 0 :(得分:2)
使用IRibbonExtensibility接口,该接口仅可从Addins获得
这意味着它无法通过Automation工作,接口不会在进程外类型库中公开。您必须使用VSTO编写加载项,使用C#+ Office + Word 2007加载项项目模板开始。
答案 1 :(得分:0)
我所做的是构建实现2个接口的小型ATL Addin: 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;