自动更新(Excel- dna) XLL与Excel打开
本文关键字:XLL Excel 打开 dna 更新 Excel- | 更新日期: 2023-09-27 17:50:11
我正在使用Excel- dna和c#开发一个Excel XLL插件。这个外接程序叫做MyAddIn.xll。Add-In已保存到用户的本地计算机,并已通过以下步骤安装/添加到Excel中:
Excel选项-> Add-Ins ->管理Excel Add-Ins ->然后添加myadd .xll.
我现在想推出一个更新的MyAddIn。给我所有的用户。我正在使用像Salt这样的部署工具。然而,这似乎需要在用户的机器上关闭Excel。
是否有一种方法,我可以推动新的xll到用户的机器,当他们有Excel打开,让改变发生,当他们重新启动Excel?
谢谢!
.xll文件将始终被Excel锁定,因此在加载加载项时您无法更新该文件。您可以对外接程序进行结构调整,使.dll不会随着更新而更改,但是您使用的.dll文件确实会更改。
Excel-DNA支持两种方法:.dna文件可以重定向到子目录,并且您的根。dna文件可以在加载加载程序时更新。所以你可以输入:
- ' AddInRoot ' MyAddIn.xll
- ' AddInRoot ' MyAddIn.dna
- ' AddInRoot ' Version1 ' MyAddInImpl.dna
- ' AddInRoot ' Version1 ' MyAddInImpl.dll
- ' AddInRoot ' Version2 ' MyAddInImpl.dna
- ' AddInRoot ' Version2 ' MyAddInImpl.dll
在MyAddIn中。你的DNA
<DnaLibrary ...> <ExternalLibrary Path="Version1'MyAddInImpl.dna" /> </DnaLibrary>
加载插件时,可以替换MyAddIn。
Excel-DNA支持加载。dll库文件而不锁定。dll。所以你可以有:
<DnaLibrary ...> <ExternalLibrary Path="MyFunctions.dll" LoadFromBytes="true" /> </DnaLibrary>
在这两种情况下,你不需要重新打开Excel加载新版本,你可以只是文件->打开。xll文件,它将重新加载(或调用xlfRegister
或Application.RegisterXLL
从代码)。