c++ - "addin.XLL is in a different format"问题,无法打开自己创建的xll

标签 c++ excel add-in xll

我用VC++2010写了一个很简单的xll文件,我用的Excel是Excel 2007,这个库只有一个函数:

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

和必要的 xlAutoOpen 函数。我编译了一个dll文件,改名为xll,双击用Excel打开。一切都如我所料。

但是,如果我尝试在另一台 PC 上打开此文件,Excel 会一直告诉我:

您尝试打开的文件“.xll”的格式与文件扩展名指定的格式不同。在打开文件之前,确认文件未损坏且来源可靠。您现在要打开文件吗?

当我点击是时,垃圾弹出。

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

我将不胜感激所有建议...

顺便说一句,我真的不知道如何选择回复作为答案。如果你知道怎么做,也请告诉我:)

...我将在本周发布我的工具...现在我才意识到它只能在我的 PC 上运行...请帮忙...T_T

最佳答案

主要原因是:

  1. 您尝试打开架构错误的 xll(例如:32 位 xll 和 excel 64 位)

  2. 缺少一些外部 dll。(请参阅 Dependency Walker 工具) 请注意,如果您在 Debug模式下构建并尝试通过 visual studio 打开它,在这种情况下,您的环境路径变量可能不可用并且 xll 缺少一些 dll。

关于c++ - "addin.XLL is in a different format"问题,无法打开自己创建的xll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14760755/

相关文章:

连接到 TFS 的 Excel TFS 加载项崩溃

visual-studio - 有人知道Visual Studio有任何(免费/开源)VI集成吗?

用于 visual studio 的 C# 解释器插件

c++ - 使用 QToolBox,哪个设置可以让页面只有它的内容大小?

c++ - openCV和c++中给定命名方法中的多个图像读取

c++ - C++ 标准是否包含标准 header 必须包含的内容?

python - 使绑定(bind)了解祖先绑定(bind)

vba - 在字符串中搜索单元格的确切值

VBA 从第 x 行开始自动调整?

vba - 使用 Excel 宏 VBA 在 excel 范围内查找行的最快方法