在我的 Excel 2016 项目 (Windows 7) 中,我想使用剪贴板:
Dim DataObj As New MSForms.DataObject
DataObj.GetFromClipboard
但是我在第一行代码处遇到了这个编译器错误:
用户自定义类型未定义
所以我想添加对 Microsoft Forms 2.0 对象库的引用,但我的整个计算机上没有
FM20.DLL
文件(我已经通过 explore 和 find
使用 cygwin 进行了搜索)。
我希望能像下面的截图那样看到它,但我找不到它。
我怎样才能让它出现?
在 64 位机器上,FM20.dll 位于
C:\Windows\sysWOW64
目录中。它是 32 位的。
我在 C:\Program Files (x86)\Microsoft Office 中找到了 FM20.DLL oot\VFS\SystemX86;这是 MS Office 2016 和 Windows 10。
也许您可以尝试使用 CLSID 进行后期绑定
Dim MyDataObj 作为对象 设置 MyDataObj = CreateObject("新建:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
或类似的东西。
只是总结一下我的经验和我在这里看到的内容 -
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}
来自这篇旧的知识库文章我猜这个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 有效)。
还要补充一点,我发现当复制/粘贴 MS .accdb 文件进行备份时,对 FM20.dll 的 VBA 引用可能会丢失,因此需要重新建立。
在浏览按钮中查找 C:\Program Files\Microsoft Office oot\Office16\Excel.exe 这对我有用。
那个图书馆真的应该在那里。我刚刚检查了我的 Excel 2016 安装(32 位),它默认存在(只是未选中)。如果你的办公室不在,我建议你修理它。