为 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.xml 和 Ribbon.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 插件加载自定义功能区的主要内容,如果未能解决你的问题,请参考以下文章
php [WordPress] [WP Rocket]自定义功能(MU)插件的Boilerplate。