制作在 32 位和 64 位下运行的 XLL Excel

Making an XLL that runs under 32 and 64-bit Excel

我们正在使用 XLDNA 制作一个小型 VB.net XLL,它加载我们的数据文件并将内容放入 Excel 以供编辑。当我们试图在我们的三人团队中部署它时,它就像三个臭皮匠的一集——它在一台机器上运行良好,但随后告诉我们它在另一台机器上不是有效的 XLL,导致很多人大吃一惊。

我们意识到与 32/64 相关,但也发现有问题的机器随机具有 Excel 的 32 或 64 版本,即使它们都是相同的型号,运行 相同 OS,从同一张 DVD 安装 XL!如果我们不能解决这个问题,我怀疑我们的用户会更难过。

那么...有没有办法制作一个同时包含 32 位和 64 位代码的 XLL?

不,您不能为 32 位和 64 位制作单个 XLL。请参阅 PMStockQuote 等基于 Excel-DNA 的项目的源代码。您会看到它生成两个不同的 .xll 二进制文件,一个用于 x86,一个用于 x64。我想您需要修复安装过程以确定 EXCEL.EXE 是位于 c:\Program Files 还是 c:\Program Files (x86).