1

我正在尝试从我的 C# 应用程序自动化 MS Word,并且在更改功能区 UI 时遇到问题。我能找到的所有示例都使用 IRibbonExtensibility 接口,该接口仅可从 Addins 获得。是否可以使用自动化来做到这一点?

4

2 回答 2

2

使用仅可从插件获得的 IRibbonExtensibility 接口

这意味着它不能通过自动化工作,接口不会暴露在进程外类型库中。您必须使用 VSTO 编写加载项,使用 C# + Office + Word 2007 加载项项目模板开始。

于 2010-12-19T14:17:34.083 回答
0

我所做的是构建实现 2 个接口的小型 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-21T14:59:30.290 回答