VBA userForm的用法
以pickFcxForm为例(userForm)
窗体内的代码:
Public bCancel As Boolean ''窗体内的全局变量
Private Sub CommandButton1_Click() ''确定
Dim xBLC As Integer
On Error GoTo ERR1
xBLC = Val(pickFcxForm.TextBox1.Text)
On Error GoTo 0
If xBLC > 0 And xBLC < 10000 Then
pickFcxForm.Hide
Else
pickFcxForm.TextBox1.SetFocus
End If
Exit Sub
ERR1:
pickFcxForm.TextBox1.SetFocus
End Sub
Private Sub CommandButton2_Click() ''取消
bCancel = True
pickFcxForm.Hide
End Sub
对窗体内变量的访问:窗体就是窗体类的实例,窗体里的控件(如textbox)可以用 “ 窗体名称.TextBox1.Text ”来访问。
可以在窗体的公共部分common里设置变量bCancel,当用按了 “取消” 按钮,将此变量设置成True。在主程序里访问:pickFcxForm.bCancel.value即可完成信息传递。
pickFcxForm.bCancel = False
pickFcxForm.show
If pickFcxForm.bCancel.value Then
acSSet.Delete
Exit Sub
End If
BLC = Val(pickFcxForm.TextBox1.Text)
以下是对CheckBox1的访问。
If pickFcxForm.CheckBox1 Then
intPoints = acEnt.IntersectWith(mPL, acExtendThisEntity) ''延伸钻孔轴求交点, 默认
Else
intPoints = acEnt.IntersectWith(mPL, acExtendNone) ''不延伸钻孔轴求交点
End If
总结:一个窗体就是相当于一个变量(类),在外部对其访问时,只需要 窗体名称+窗体内的控件名称 即可访问。