use*_*756 5 excel 64-bit xll visual-studio windows-7
我不是一名熟练的 Windows 程序员,但多年来我一直在创建并维护 32 位 Windows XP / Excel 的 XLL 插件。我现在想创建一个 Windows 7/64 位版本,但遇到了麻烦 - 我什至无法让 Generic.xll 示例正常工作。
这是我所做的最简单的版本 - 抱歉,这是又长又迂腐。
在我安装了 Visual Studio 2010 Professional 的 Windows XP/32 计算机上:
下载并安装 Microsoft Excel 2013 SDK。
开始菜单 - “打开 Visual Studio x64 交叉工具命令提示符 (2010)”
设置类型=发布
SET PLATFORM=x64 // 我认为无论如何这是预设的
cd C:\2013 Office System Developer Resources\Excel2013XLLSDK\SAMPLES\FRAMEWRK
nmake // 没有错误
cd C:\2013 Office System Developer Resources\Excel2013XLLSDK\SAMPLES\GENERIC
nmake // 没有错误
将生成的 C:\2013 Office System Developer Resources\Excel2013XLLSDK\SAMPLES\GENERIC\x64\RELEASE\GENERIC.xll 复制到 Windows 7/64 计算机可访问的网络文件夹
在 Windows 7/64 计算机上:
启动 Excel 2013
文件 - 选项 - 加载项 - 管理 Excel 加载项 - 浏览,转到包含 Generic.xll 的网络文件夹,单击它。
允许 Excel 将 Generic.xll 复制到标准文件夹。它以静默方式加载,没有消息(包括没有消息说它已加载 Generic.xll)
Generic.xll 中没有出现任何功能。
关闭并重新打开 Excel - 重新打开时,我收到一个消息框,显示“‘GENERIC.xll’的文件格式和扩展名不匹配。该文件可能已损坏或不安全...”(如果我说“是”,则像文本文件一样加载它,显示电子表格中 XLL 中的二进制代码。)
根据以前 (Windows XP/32) XLL 的经验,此消息几乎可能意味着任何情况 - 包括缺少所需的 DLL。所以,
在 Windows 7/64 计算机上:
安装 Microsoft Visual C++ 2010 x64 可再发行组件 - 10.0.30319。没有影响。
安装 Microsoft Visual C++ 2012 可再发行组件 (x64) - 11.0.51106。没有影响。
运行“Dependency Walker for Win64(x64) Version 2.2.600,由 Steve P. Miller 开发”
文件 - 打开 - Generic.xll
它显示它找不到:
-- XLCALL32.DLL // 典型的来自我的 Windows XP 工作 XLL 的经验
-- API-MS-WIN-CORE-COM-L1-1-0.DLL
-- API-MS-WIN -CORE-WINRT-ERROR-L1-1-0.DLL
-- API-MS-WIN-CORE-WINRT-L1-1-0.DLL
-- API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1 -0.DLL
-- API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL
-- API-MS-WIN-SHCORE-SCALING-L1-1-0.DLL
-- DCOMP.DLL
- - IESHIMS.DLL // 典型的来自我在 Windows XP 上工作 XLL 的经验
所以,现在我很困惑。我以为我遇到了 64 位问题,但我开始怀疑我是否遇到了 Windows 7 问题。
帮助?
谢谢,
蒂姆
听起来你对此有所了解。XLCALL32 和 IESHIMS 取决于不是你的问题。
我的猜测是这是一个 64 位问题。我终于成功地获得了与http://xll.codeplex.com一起使用的 64 位版本。也许您可以在那里找到一些有用的东西。