excel xll for 64bit excel

我有一个c ++代码创build一个xll,可以打开成32位excel和完美的作品。

我切换到64位Excel和代码停止工作。

我已经重新编译在Visual Studio 64平台的代码。 汇编没问题,没有错误。 但是当我尝试加载它在64位Excel中,Excel无法识别文件扩展名。 它抱怨说“无法识别的文件扩展名…”,并给我select继续打开是/否/取消。

如果我忽略消息,并按是的插件崩溃,我得到“无法打开DOS模式下的程序”错误。

问题是因为插件编译好,我不知道如何排除错误。 任何人都可以给我任何指导如何克服这个问题。

1> 64位Excel必须认识到它是有效的插件(我想第一个消息“无法识别的文件扩展名”必须离开)

2>我怎么才能找出什么是错误的“不能在dos模式下打开程序”的错误。

在此先感谢您的帮助。

该消息通常意味着运行时链接程序找不到dll。 使用sysinternals中的depend.exe(64位)来找出哪个。 您可以忽略xlcall32.dll和ieshims.dll警告。

您使用32位版本的Excel打开64位插件,您将报告只能在DOS下打开的错误。 您需要安装一个64位(通常无法安装32位和64位)的办公室来打开64位插件!

正如Keith所提到的,这个错误很可能是因为一些.dll的依赖没有被发现。 可能出现的一个具体问题是如果您的.xll正在调用另一个驻留在同一目录中的.dll文件。 当Excel启动并加载.xll时,它将search其工作目录,无法find.dll。

解决这个问题的方法之一是将.dll的目录添加到path中。