下午好,
我有这段代码来检查我的表单的复选框是否未被选中,但是每次我收到此错误消息时: 运行时错误' 438'
var dot;
function setup() {
createCanvas(640,480);
dot = {
x: random(width),
y: random(height),
size: 50,
r: 255,
g: 0,
b: 0,
speedX: 5,
speedY: 5
}
background(240);
}
function draw() {
...
债务错误:
Private Sub Btn_Send_Click()
Dim ctl As Control
Dim iX As Integer
For Each ctl In Me.Controls
If TypeName(ctl) = "CheckBox" And ctl.Value = False Then iX = iX + 1
Next ctl
If iX = 0 Then MsgBox "No checkBox Selected", vbExclamation, "Title"
End Sub
运行时错误#438:对象不支持此属性或方法
感谢您的帮助
答案 0 :(得分:2)
尝试这样做:
For Each ctl In Me.Controls
If TypeName(ctl) = "CheckBox" Then
If ctl.Value = False Then
iX = iX + 1
End If
End If
Next ctl
原因是VBA不支持短路评估 - Does the VBA "And" operator evaluate the second argument when the first is false?
因此,即使您的第一个条件是False
,它也会很好地检查您的第二个条件。如果它不是CheckBox
控件,则会抛出错误,因为它没有.Value
属性。