vba 找不到 Microsoft Forms 2.0 Object Library 或 FM20.DLL

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/35664768/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-08 10:15:31  来源:igfitidea点击:

Can't find Microsoft Forms 2.0 Object Library or FM20.DLL

excelvbawindows-7excel-2016

提问by Lime

I would like to use this library to work with the clipboard. I expect to see it as in the screenshot below, but I can't find it in my list of reference libraries. I tried adding VBA form to my excel project with no success. How can I make it appear?

我想使用这个库来处理剪贴板。我希望在下面的屏幕截图中看到它,但在我的参考库列表中找不到它。我尝试将 VBA 表单添加到我的 excel 项目中,但没有成功。我怎样才能让它出现?

enter image description here

在此处输入图片说明

I have no FM20.DLL file on my entire computer W7 and Excel 2016. I have searched both through explore and using findwith cygwin.

我的整个计算机 W7 和 Excel 2016 上都没有 FM20.DLL 文件。我通过 explore 和使用findcygwin 进行了搜索。

采纳答案by Steve Chambers

From this old knowledge base articlemy guess would be this DLL is perhaps only included in older versions of Office? This part seemed promising:

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

As an alternative to having your end users install Microsoft Office, you can have them freely download and install the Microsoft ActiveX Control Pad, which also installs the Fm20.dll. For more information, see the following Microsoft Developer Network (MSDN) Web site: http://msdn.microsoft.com/en-us/library/ms968493.aspx

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

However, as the linked tool is from 1997, you'll need to run its setup in "compatibility mode" by right-clicking on the executable and selecting "Properties" then clicking on the "Compatibility" tab and selecting "Windows 95" in the "Run this program in compatibility mode for:" dropdown. Then run it as administrator (this worked for me using Windows 8.1).

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

回答by jules3766

On 64-bit machines, FM20.dll is in the C:\Windows\sysWOW64directory. It's 32 bit.

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

回答by V Ward

I found FM20.DLL in C:\Program Files (x86)\Microsoft Office\root\VFS\SystemX86; that's with MS Office 2016 and Windows 10.

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

回答by Dileep Krishnamurthy

Maybe you can try a late binding using the CLSID

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

Dim MyDataObj As Object Set MyDataObj = CreateObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")

Dim MyDataObj As Object Set MyDataObj = CreateObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")

or something like that.

或类似的东西。

回答by jkpieterse

That library should really be there. I just checked on my Excel 2016 installation (32 bit) and it is there by default (just not checked). I recommend to repair your Office if it isn't there.

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