“addin.XLL是在不同的格式”问题,不能打开我自己创build的xll

我在VC ++ 2010中编写了一个非常简单的xll文件,我使用的是Excel 2007.该库只包含一个函数:

extern "C" LPXLOPER12 WINAPI tsMkErr() { static XLOPER12 x; x.xltype = xltypeErr; x.val.err = xlerrNull; return &x; } 

和必需的xlAutoOpen函数。 我编译和dll文件,将名称更改为xll,并双击它打开在Excel中。 一切都如我所料。

但是,如果我试图在另一台电脑上打开这个文件,Excel会一直告诉我:

您尝试打开的文件“.xll”与文件扩展名指定的格式不同。 打开文件之前,validation该文件是否已损坏并且来自受信任的来源。 你想现在打开文件吗?

当我点击是,垃圾popup。

我也尝试通过加载项pipe理器加载它。 在这种情况下,我可以打开文件,但找不到我的函数tsMkErr()。

我会感激所有的build议…

顺便说一句,我真的不知道如何select答复作为答案。 如果你知道如何做,请让我知道:)

…本周我将发布我的工具…现在我只是意识到它只适用于我的电脑…请帮助… T_T

帮你一个忙,并使用http://xll.codeplex.com

主要原因是:

  1. 你尝试打开一个错误的体系结构的xll(例如:32位xll和excel 64位)

  2. 一些外部的dll缺失(请参阅Dependency Walker工具)请注意,如果您正在以debugging模式构build并尝试通过Visual Studio打开它,则在这种情况下,您的环境pathvariables可能不可用,并且xll缺less一些dll。

可能的原因可能是缺less依赖关系(crt dlls等)。 您可以使用Dependency Walker工具进行检查。

看来你正在以debugging模式构build解决scheme。 如果在debugging模式下构build解决scheme,Visual Studio会将xll与很less安装在另一台计算机上的debugging库链接起来。 因此,请确保您将生成configuration设置为释放 ,并且应该可以在其他计算机上工作(如果安装了正常的ms c ++可再分发库)。