如何将表单的TextBox
对象传递给方法?
以下代码发出例外。
Private Sub DoSmthWithTextBox(ByRef txtBox as TextBox)
txtBox.BackColor = vbRed
End Sub
Private Sub TextBox1_Change()
DoSmthWithTextBox Me.TextBox1
End Sub
当DoSmthWithTextBox Me.TextBox1
从String
而不是对象引用传递TextBox1
时,会出现问题。
如何将TextBox
对象传递给DoSmthWithTextBox
方法?
答案 0 :(得分:13)
重写Excel:
Private Sub DoSmthWithTextBox(txtBox As MSForms.TextBox)
txtBox.BackColor = vbRed
End Sub
据我所知,这是因为Excel有一个形状的对象文本框,而userforms使用ActiveX控件文本框,所以你需要一个对MSForms库的显式引用。