【问题标题】:Can I force 32 bit VBA references in my Excel Macro?我可以在我的 Excel 宏中强制使用 32 位 VBA 引用吗?
【发布时间】:2020-06-03 14:21:00
【问题描述】:

我使用 Excel 宏通过其 API 更新 32 位应用程序的信息。 它在我的电脑上运行良好,但在别人的电脑上崩溃。 在 Excel (Alt F11) > Tools > References 中打开 VB 编辑器,我注意到许多 Windows DLL 和 TLB 文件位于 C:\Windows\SysWOW64(64 位版本)中。 例如stdole2.tlb(OLE 自动化) 我想强制 32 位版本,它是 C:\Windows\System32 中的同一个文件

但是,当我禁用 64 位引用并使用“浏览”按钮添加例如C:\Windows\System32\stdole2.tlb,选择的引用没有添加到列表中。

是否有强制执行此操作的解决方法?

注意:我使用的 Excel 是 2013,32 位版本

【问题讨论】:

标签: excel vba reference


【解决方案1】:

看了this link,我知道SysWOW64实际上存储32位DLL,而System32存储64位库。

我复制了下面的解释:

在 64 位计算机上 [...] 系统范围的 C:\Windows\System32 文件夹包含 64 位库。 32 位程序将其文件存储在 C:\Program Files (x86) 中,系统范围的文件夹为 C:\Windows\SysWOW64。 这绝对是违反直觉的。尽管名称中有“32”,System32 文件夹包含 64 位库。而且,尽管名称中有 64,SysWOW64 文件夹包含 32 位库——至少在 64 位版本的 Windows 上。

【讨论】:

    猜你喜欢
    • 2016-06-04
    • 2015-04-28
    • 2021-04-25
    • 2011-08-06
    • 2020-12-15
    • 2012-07-23
    • 1970-01-01
    • 1970-01-01
    • 2013-07-01
    相关资源
    最近更新 更多