【发布时间】:2017-04-13 12:51:32
【问题描述】:
我查看了 Microsoft Forms 2.0 对象库 (FM20.DLL) 和 Microsoft Windows 公共控件 (comctl32.dll),因为它们都存在(我认为)作为我系统上的 OLE 提供程序。 (我这样做是通过在 Excel 中的 VBA 中打开它们来查看它们的成员的库)并在 VBA 中与它们一起玩。
我更大的问题是我不了解库本身与 ActiveX 之间的关系 - 我如何知道哪些成员可以创建为 ActiveX 对象? (例如,您可以创建“Excel.Application”,但不能创建“MSForms.UserForm”)。
我希望能够使用某个库编写(使用 OLE)表单、显示它、响应事件等。我希望使用已经可用的东西(如上面提到的库,如果可能的话)来防止必须安装额外的软件。
如果您能举个例子(用任何语言)让我开始,那将非常有帮助,非常感谢。
【问题讨论】:
-
这个问题很难理解,从来都不是实际问题。 ActiveX 控件是显示在可视化设计器工具箱中的控件。是的,Forms 2.0 有一个,它内置在 Excel 中,让您可以做所有想做的事情。听起来你只是还没有找到它。
-
@HansPassant 谢谢,根据您的评论和一个名为 ActiveXHelper 的工具,我设法找到了例如“Forms.Frame.1”作为我可以创建的 ActiveX 对象。但是,我怎么知道这是对象的名称,而不是“MSForms.Frame”或其他名称?我猜您需要访问 ActiveX 注册表才能告诉您这些信息?