我正在尝试从我的C#应用程序自动化MS Word,但在更改功能区UI时遇到问题。我能找到的所有示例都在使用IRibbonExtensibility接口,该接口仅在插件中可用。有没有可能使用自动化来实现这一点?
发布于 2010-12-21 22:59:30
我所做的就是构建一个小的ATL插件,它实现了两个接口: 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; 发布于 2010-12-19 22:17:34
使用仅可从加载项获得的IRibbonExtensibility接口的
这意味着它不会通过Automation工作,该接口不会在进程外类型库中公开。你必须使用VSTO来编写插件,使用C# + Office +word2007插件项目模板就可以开始了。
https://stackoverflow.com/questions/4482934
复制相似问题