我有一个朋友做Excel VBA项目。该项目有很多弹出窗体,可以在使用电子表格时执行各种功能。其中一些具有复杂的
我们尝试打印出应用程序中每个窗体上每个控件的名称。我们的问题是
例如:
Form_Initialize
方法,这些方法依赖于已经存在的其他内容(当预期使用项目时,这不是问题)。我们尝试打印出应用程序中每个窗体上每个控件的名称。我们的问题是
VBA.UserForms
集合只包含已经被实例化的窗体,而我们不能实例化所有窗体而没有它们的Form_Initialize
方法执行。例如:
For Each f In VBA.UserForms
Debug.Print f.Name
Debug.Print "----------------------"
For Each c In f.Controls
Debug.Print c.Name
Next c
Next f
如果没有使用/加载表单,则不执行任何操作。以下是代码:
For Each c in frmConfig.Controls
Debug.Print c.Name
Next c
首先执行 frmConfig.Form_Initialize()
,然后循环遍历表单上的控件并打印它们的名称。由于在此表单可用之前需要发生的事情尚未发生,因此会崩溃。
是否可能在不实例化表单(避免执行frmConfig.Form_Initialize()
)的情况下获取表单上控件的名称?
非常感谢任何帮助!