为 ExcelDna .xll 插件加载自定义功能区

Posted

技术标签:

【中文标题】为 ExcelDna .xll 插件加载自定义功能区【英文标题】:Load custom ribbon for ExcelDna .xll addin 【发布时间】:2016-08-01 04:05:06 【问题描述】:

我有一个 Visual Studio 项目来创建一个 .xll 插件。

在那个项目中,我有一个 Main.cs 文件和一个 Functions.cs 文件。

Functions.cs 文件存储将在 Excel 中使用的 UDF。

我有另一个项目要为 Excel 创建功能区。在那个项目中有一个 Ribbon.xmlRibbon.cs 文件。我将这 2 个文件移到 .xll 项目中。

但我不知道该怎么做,这样当用户将 .xll 文件安装到 Excel 时,自定义功能区选项卡也会显示。

顺便说一下,我是一个初学者,我这样做是为了实习。所以要么我真的找不到任何关于这个的讨论,要么我不明白人们真正在讨论什么。因此,对于您可能认为非常简单的问题,我提前向您道歉。

【问题讨论】:

【参考方案1】:

要向 Excel-DNA 加载项添加功能区,您需要添加一个派生自 ExcelDna.Integration.CutomUI.ExcelRibbon 的公共类。加载外接程序时,Excel-DNA 会查找并实例化该类型的对象。

要提供xml,你重写GetCustomUI(...)方法,其他回调是这个类中的公共方法。

Excel-DNA 还支持将功能区 xml 放入 .dna 文件中(这只是实现 GetCustomUI(...) 的替代方法)。您在 GitHub 上找到的示例使用这种方法,因为它在制作单个文件示例时更容易一些。 (示例在这里:https://github.com/Excel-DNA/ExcelDna/blob/master/Distribution/Samples/Ribbon/TestCSharp.dna)

有关回调函数的 xml 架构和签名的文档,您可以查看 MSDN:http://msdn.microsoft.com/en-us/library/aa338202(office.12).aspx(3 部分)

【讨论】:

以上是关于为 ExcelDna .xll 插件加载自定义功能区的主要内容,如果未能解决你的问题,请参考以下文章

WordPress 创建自定义功能

php [WordPress] [WP Rocket]自定义功能(MU)插件的Boilerplate。

新的 Google 表格自定义功能有时会无限期显示“正在加载...”

HandsOnTable 编辑器自定义功能

Ktor 自定义功能交换网址

转换为自定义功能时出现了代码中断?