Excel Can';找不到Microsoft Forms 2.0对象库或FM20.DLL
在我的Excel 2016项目(Windows 7)中,我想使用剪贴板:Excel Can';找不到Microsoft Forms 2.0对象库或FM20.DLL,excel,vba,windows-7,excel-2016,Excel,Vba,Windows 7,Excel 2016,在我的Excel 2016项目(Windows 7)中,我想使用剪贴板: Dim DataObj As New MSForms.DataObject DataObj.GetFromClipboard 但我在第一行代码中遇到了这个编译器错误: 未定义用户定义的类型 因此,我想添加对Microsoft Forms 2.0对象库的引用,但我的整个计算机上没有FM20.DLL文件(我用cygwin搜索了explore和find) 我希望在下面的截图中看到它,但我找不到它 如何使其显示?据我猜测,此D
Dim DataObj As New MSForms.DataObject
DataObj.GetFromClipboard
但我在第一行代码中遇到了这个编译器错误:
未定义用户定义的类型
因此,我想添加对Microsoft Forms 2.0对象库的引用,但我的整个计算机上没有FM20.DLL
文件(我用cygwin搜索了explore和find
)
我希望在下面的截图中看到它,但我找不到它
如何使其显示?据我猜测,此DLL可能仅包含在旧版本的Office中?这一部分似乎很有希望:
作为让最终用户安装Microsoft Office的替代方案,
您可以让他们免费下载并安装Microsoft ActiveX
控制板,也安装Fm20.dll。欲了解更多信息,
请参阅以下Microsoft开发人员网络(MSDN)网站:
但是,由于链接工具是1997年推出的,您需要在“兼容模式”下运行其安装程序,方法是右键单击可执行文件并选择“属性”,然后单击“兼容”选项卡,并在“在兼容模式下运行此程序:”下拉列表中选择“Windows 95”。然后以管理员身份运行它(这对我使用Windows 8.1很有效)。该库应该真的存在。我刚刚检查了我的Excel 2016安装(32位),默认情况下它在那里(只是没有检查)。如果您的办公室不在,我建议您修复它。在64位计算机上,FM20.dll位于
C:\Windows\sysWOW64
目录中。它是32位。我在C:\ProgramFiles(x86)\Microsoft Office\root\VFS\SystemX86中找到了FM20.DLL;微软Office 2016和Windows 10就是这样 也许您可以尝试使用CLSID进行后期绑定
将MyDataObj设置为对象
设置MyDataObj=CreateObject(“新建:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}”)
或者类似的东西。您不需要Forms 2.0来处理Windows剪贴板-改用Win32 API,请参阅@Mat'sMug以便旧代码不再工作,对吗?这里有一个这样的代码,我正在努力工作。VBA项目中是否有任何表单?如果没有,请尝试添加一个。@Mat'sMug Yes已经尝试过了。您是否尝试过重新安装Excel?重新安装时,请注意Office和VBA的工具。不,FM20应该安装在所有包含VBA的Office安装中。@jkpieterse它应该安装,但并不总是根据我使用过的计算机的证据。此外,链接仅为32位。有趣的是,我在发帖之前就试过了。我没有投反对票,我会在某个时候尝试兼容模式,虽然我很确定它不会工作。我从未有过没有fm20.dll的兼容模式,所以这些肯定是不完整的Office安装。尝试完整安装。请注意,如果您点击运行Office 2016,安装将“随用随用”,因此可能需要一段时间才能完成。文件的路径是什么?这是正确的答案,不要被接受的答案所迷惑……这不仅是正确的答案,而且有助于解释这一点。