找不到 Microsoft Forms 2.0 对象库或 FM20.DLL

问题描述 投票:0回答:8

在我的 Excel 2016 项目 (Windows 7) 中,我想使用剪贴板:

Dim DataObj As New MSForms.DataObject
DataObj.GetFromClipboard

但是我在第一行代码处遇到了这个编译器错误:

用户自定义类型未定义

所以我想添加对 Microsoft Forms 2.0 对象库的引用,但我的整个计算机上没有

FM20.DLL
文件(我已经通过 explore 和
find
使用 cygwin 进行了搜索)。

我希望能像下面的截图那样看到它,但我找不到它。

我怎样才能让它出现?

excel vba windows-7 excel-2016
8个回答
10
投票

在 64 位机器上,FM20.dll 位于

C:\Windows\sysWOW64
目录中。它是 32 位的。


2
投票

我在 C:\Program Files (x86)\Microsoft Office 中找到了 FM20.DLL oot\VFS\SystemX86;这是 MS Office 2016 和 Windows 10。


1
投票

也许您可以尝试使用 CLSID 进行后期绑定

Dim MyDataObj 作为对象 设置 MyDataObj = CreateObject("新建:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")

或类似的东西。


1
投票

只是总结一下我的经验和我在这里看到的内容 -

FM20.dll
可以在这些地方找到:

C:\Windows\System32\
C:\Windows\SysWOW64\
C:\Program Files\Microsoft Office\root\vfs\System\
C:\Program Files (x86)\Microsoft Office\root\vfs\SystemX86\

请注意,或者 GUID 是:

{1C3B4210-F441-11CE-B9EA-00AA006B1A69}

0
投票

来自这篇旧的知识库文章我猜这个DLL可能只包含在旧版本的Office中?这部分看起来很有希望:

作为让最终用户安装 Microsoft Office 的替代方案, 您可以让他们免费下载并安装 Microsoft ActiveX Control Pad,它还会安装 Fm20.dll。了解更多信息, 请参阅以下 Microsoft Developer Network (MSDN) 网站: http://msdn.microsoft.com/en-us/library/ms968493.aspx

但是,由于链接工具是从 1997 年开始的,因此您需要通过右键单击可执行文件并选择“属性”然后单击“兼容性”选项卡并选择“Windows 95”以“兼容模式”运行其设置在“以兼容模式运行此程序:”下拉列表中。然后以管理员身份运行它(这对我使用 Windows 8.1 有效)。


0
投票

还要补充一点,我发现当复制/粘贴 MS .accdb 文件进行备份时,对 FM20.dll 的 VBA 引用可能会丢失,因此需要重新建立。


0
投票

在浏览按钮中查找 C:\Program Files\Microsoft Office oot\Office16\Excel.exe 这对我有用。


-1
投票

那个图书馆真的应该在那里。我刚刚检查了我的 Excel 2016 安装(32 位),它默认存在(只是未选中)。如果你的办公室不在,我建议你修理它。

© www.soinside.com 2019 - 2024. All rights reserved.