【发布时间】:2012-05-24 02:30:02
【问题描述】:
我使用 Visual Studio 2010 和 excel 2010 开发了一个 xll。它在安装了 Visual Studio 的计算机上的 excel 上运行良好。但是现在,我试图在没有安装视觉的计算机上使用我的 xll,所以我想创建一个设置。
事实上,我试图在没有安装任何东西的 Windows 上执行我的 xll(仅限 excel 2010):它不起作用。所以我在 X64 和 X86 中安装了“visual 2010 C++ 可再发行包”。在我再次尝试在 excel 中执行我的 xll 并且它不再工作之后。
编辑:我在我的两个 xll 上使用了“depends.exe”。在不工作的 xll 上,C:\windows\system32\SHLWAPI.DLL 在左边有一个红色的图片,但是工作的 xll 没有这个 dll 错误:
所以我的问题是除了 C++ 包之外,xll 还需要什么才能在没有视觉的计算机上执行?
或者你有一个简单的方法来为 xll 创建一个设置(我已经创建了一个带有视觉的设置但它不工作所以也许有其他方法......)。
【问题讨论】:
-
它做什么而不是工作?有任何错误信息吗?
-
在没有安装visual的计算机上:在我把我的xll放在EXCEl上之后,我尝试把一个单元格“=Myfunc”放在一个单元格上,没有与之匹配的函数列表。我将相同的 XLL 放在安装了 visual 的计算机上以及它的工作位置:当我输入“=Myfunc”时,我有一个与我的 XLL 的功能相对应的功能列表
-
如果您在 SHLWAPI.DLL 中使用 shell 函数,您可能会链接到目标操作系统上不可用的功能。如果您正在针对最新版本的 Windows SDK 进行编译,但在 Windows XP 上运行,您会得到这种行为。更多关于在这里处理不同版本的 shell 库:msdn.microsoft.com/en-us/library/windows/desktop/…
-
您还可以将调试器附加到 Excel 进程,然后加载加载项并检查调试器输出。无法加载某些 .dll 将显示在调试器输出中。或者从一个更简单的插件开始,然后添加您的功能以查看它在什么时候中断。
-
我无法在我的 XLL 无法工作的计算机上执行此操作,因为没有安装 Visual 2010。如果我安装了视觉,我的 XLL 将工作,但我想在不安装视觉的情况下使用它。
标签: c++ visual-studio-2010 excel dependencies xll