Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel Can';找不到Microsoft Forms 2.0对象库或FM20.DLL_Excel_Vba_Windows 7_Excel 2016 - Fatal编程技术网

Excel Can';找不到Microsoft Forms 2.0对象库或FM20.DLL

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

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

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,安装将“随用随用”,因此可能需要一段时间才能完成。文件的路径是什么?这是正确的答案,不要被接受的答案所迷惑……这不仅是正确的答案,而且有助于解释这一点。