c# - 在现有工作簿中存储 Excel 加载项

标签 c# excel deployment excel-addins

我目前正在使用 Excel-DNA 库开发 Excel 加载项。遗憾的是,我需要以某种方式将加载项序列化到工作簿中,这样如果打开工作簿,就可以执行加载项的代码。

之前,我使用运行良好的 VBA 和 Excel 宏,我可以序列化宏并上传工作簿。一个软件将数据放入其中并交付编辑后的工作簿,我只需打开工作簿即可执行宏。

我尝试使用加载项(例如加载加载项并保存工作簿),但这没有用,加载项似乎根本没有保存。是否还有其他机会将插件序列化到工作簿中,以便刚获得工作簿的人可以执行插件的代码?

最佳答案

您可以在 Excel 工作簿中包含用于安装加载项(如果尚未安装)的代码。如果您只想在工作簿打开时安装加载项,您也可以让它在关闭时卸载加载项。

查看 JKP 的名称管理器,特别是设置名称管理器文件中的代码。

http://www.jkp-ads.com/OfficeMarketPlaceNM-EN.asp

它会找到假定与安装文件位于同一路径的加载项,并将其复制到 UserLibrary,这是加载项的默认路径。然后它将 Addin.Installed 属性设置为 True。

JKP 的加载项是原生 Excel 加载项,而不是 Excel DNA 加载项,因此可能存在一些差异(我不知道它们是什么)。但是您可能必须处理 Application.COMAddins 而不是 Application.Addins。

关于c# - 在现有工作簿中存储 Excel 加载项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25286213/

相关文章:

c# - 在Silverlight应用程序中导航

c# - 当调用类本身是泛型时,是否可以强制外部类调用专门的重载?

c# - 调试 C# ASP.NET Web 服务

c# - 如何将图表从 Excel 文件复制到 PowerPoint?

c# - 没有 DeploymentItemAttribute 的 MSTest 部署

ruby-on-rails - 如何更新服务器缓存的 CSS?

c# - 错误消息与抛出异常 C# ASP.Net

c# - 如何防止 Excel 互操作在插入图像时窃取焦点

Google 表格中的 Excel 样式组合框

java - jboss-as-maven-plugin无法部署到远程Jboss?