VBA:在运行时将TextBox添加到UserForm

时间:2015-11-30 10:54:46

标签: vba excel-vba excel

我想在运行时向我的用户表单添加文本框。 目前我正在使用此代码执行此操作:

Dim edtBox_n As Control
Set edtBox_n = usrFrm.Controls.Add("Forms.TextBox.1", "edtBox_n", True)
With edtBox_n
    .Top = 20
    .Left = 20
End With

但是,我不能操纵文本框特定的属性,如multiline,maxtext length等。

是否有其他选项在运行时向用户添加控件,而不缺少此要求?

2 个答案:

答案 0 :(得分:3)

这对我来说非常好(在Excel 2007上测试):

Dim edtBox_n As Control
Set edtBox_n = usrFrm.Controls.Add("Forms.TextBox.1", "edtBox_n", True)
With edtBox_n
    .Top = 20
    .Left = 20
    .MultiLine = True
    .EnterKeyBehavior = True
    .Height = 100
End With

答案 1 :(得分:1)

您可能需要在With语句之后的第一行添加.visible = true。