“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 。
主要原因是:
-
你尝试打开一个错误的体系结构的xll(例如:32位xll和excel 64位)
-
一些外部的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 ++可再分发库)。