VBA在运行时向Userform添加用户定义的控件

时间:2017-09-22 22:51:34

标签: vba excel-vba userform excel

所以我在设计模式中进行了以下控制,然后将控件添加到我的工具箱中的新页面Custom

现在,我将对progID中的Controls.Add()参数使用什么?我如何查找此值? Controls.Add("Forms.Frame.1")添加常规框架,而不是所需的自定义控件。

enter image description here

1 个答案:

答案 0 :(得分:0)

据我所知,您不会使用自定义控件生成新的progID。根据自定义/修改控件的MSDN documentation

  

注意:将控件拖到控件工具箱上时,只传输高级属性值。

所以只转移属性;实际控件仍然与您创建它的类型相同。此外,看起来这个progID是"a unique system-wide string that the Windows operating system can use to identify your control's type."因此,除非您要对自己的控件进行编码,否则看起来好像只是将属性传递给您在那里创建的自定义工具箱控件。

每次要添加自定义控件时,您都必须复制自定义控件。只需创建一个包含所有正确属性的子并调用它。不是你想要的,但它会完成工作。