4

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

Dim DataObj As New MSForms.DataObject
DataObj.GetFromClipboard

但是我在第一行代码中有这个编译器错误:

未定义用户定义类型

因此,我想添加对 Microsoft Forms 2.0 对象库的引用,但我FM20.DLL的整个计算机上都没有文件(我已经通过 explore 和findcygwin 进行了搜索)。

我希望在下面的屏幕截图中看到它,但我找不到它。

可用参考的 VBA 列表

我怎样才能让它出现?

4

6 回答 6

10

在 64 位机器上,FM20.dll 位于C:\Windows\sysWOW64目录中。它是 32 位的。

于 2016-11-02T23:43:36.663 回答
2

我在 C:\Program Files (x86)\Microsoft Office\root\VFS\SystemX86 中找到了 FM20.DLL;这是与 MS Office 2016 和 Windows 10 一起使用的。

于 2017-02-14T19:06:19.317 回答
1

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

将 MyDataObj 调暗为对象集 MyDataObj = CreateObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")

或类似的东西。

于 2018-02-01T13:42:17.607 回答
0

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

作为让最终用户安装 Microsoft Office 的替代方法,您可以让他们免费下载并安装 Microsoft ActiveX Control Pad,它还会安装 Fm20.dll。有关详细信息,请参阅以下 Microsoft 开发人员网络 (MSDN) 网站:http: //msdn.microsoft.com/en-us/library/ms968493.aspx

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

于 2016-02-29T13:23:46.087 回答
0

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

于 2021-11-23T22:15:08.883 回答
-1

那个图书馆应该真的在那里。我刚刚检查了我的 Excel 2016 安装(32 位),默认情况下它就在那里(只是没有检查)。如果 Office 不存在,我建议您修复它。

于 2016-02-29T14:30:52.003 回答