读书人

VBA for each control in controls 疑

发布时间: 2012-12-16 12:02:32 作者: rapoo

VBA for each control in controls 疑问
我调试的是VBA,应该VB也一样吧。
界面上有个MultiPage1容器,容器内有textbox控件
点击按钮btnReset时把所有textbox控件值设为""。

Private Sub btnReset_Click()
Dim txt As Control
'Set txt = txtTempC '怎么txt等于txtTempC.Text值???
For Each txt In MultiPage1.SelectedItem.Controls
If TypeOf txt Is TextBox Then
'为什么就跳不到这一步?
txt.Text = ""
End If
Next
End Sub

哪位老师帮帮我,谢谢。
[最优解释]

If TypeOf txt Is TextBox Then
改成
If TypeOf txt Is MSForms.TextBox Then
即可
[其他解释]

引用:
我调试的是VBA,应该VB也一样吧。
界面上有个MultiPage1容器,容器内有textbox控件
点击按钮btnReset时把所有textbox控件值设为""。

Private Sub btnReset_Click()
Dim txt As Control
'Set txt = txtTempC '怎么txt等于txtTempC.Text值???
For Each ……


容器上的控件不能通过容器来遍历,其上的控件不是从属于容器,而是从属于parent

Private Sub btnReset_Click()
Dim txt As Control
'Set txt = txtTempC '怎么txt等于txtTempC.Text值???
For Each txt In Controls

if txt.container is MultiPage1.SelectedItem then'此处,不知道是用这样还是应该使用if txt.container is MultiPage1 then'
If TypeOf txt Is TextBox Then

txt.Text = ""
End If
end if
Next
End Sub

[其他解释]
谢谢,lyserver。

读书人网 >VB

热点推荐