excel xll for 64bit excel

时间:2012-10-08 23:37:28

标签: visual-studio excel 64-bit xll

我有一段c ++代码创建了一个xll,可以打开32位excel并且运行得很好。

我切换到64位excel,代码停止工作。

我已经在visual studio 64平台上重新编译了代码。编译没问题,没有错误。  但是当我尝试在64位excel中加载它时,excel无法识别文件扩展名。  它抱怨说“无法识别的文件扩展名......”并允许我继续打开是/否/取消。

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

问题是因为addin编译好了我不知道如何解决错误。谁能给我任何关于如何克服这个问题的指示。

1> 64位excel必须将其识别为有效插件(我猜第一条消息“无法识别的文件扩展名”必须消失)

2 - ;我怎样才能找出“dos模式下无法打开程序”错误的错误。

提前感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

正如Keith所提到的,这个错误很可能是因为找不到某些.dll依赖项。可能出现的一个具体问题是,如果您的.xll正在调用另一个存在于同一目录中的.dll。当Excel启动并加载.xll时,它将搜索其工作目录并且无法找到.dll。

解决此问题的一种方法是将.dll的目录添加到路径中。