您知道访问用户名的方法是将哪个名称存储在变量中吗? 我有带有复选框事件的类模块,但是复选框位于不同的用户窗体上,我需要使用它们或它们的用户窗体进行操作。
Class模块具有其公共变量chbParent,它是用户窗体名称。可以这么说
chParent = "formCmnStructs"
然后在类模块内部,我有了这个(还有需要条件的更多操作):
If chbParent = "formInsertRow" Then
Divisions(r, c).Checked = IIf(formInsertRow.Controls("chbDiv_" & Me.chbId).value = True, 1, 0)
formInsertRow.chbDivClicked
ElseIf chbParent = "formCmnStructs" Then
Divisions(r, c).Checked = IIf(formCmnStructs.Controls("chbDiv_" & Me.chbId).value = True, 1, 0)
formCmnStructs.chbDivClicked
End If
现在,它仅用于两种形式,但以后还会有更多形式。有什么办法可以取消条件并像这样动态访问用户表单:
userforms(chbParent).Controls("....
答案 0 :(得分:0)
您可以对每个用户表单使用ActiveForm as object
之类的公共变量
Private Sub UserForm_Activate()
Set ActiveForm = Me
End Sub
然后在类模块中
ActiveForm.Controls("...
获取表单名称chParent = ActiveForm.Name