VBA:在运行时将文本框添加到用户窗体

blc*_*ird 1 excel vba

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

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
Run Code Online (Sandbox Code Playgroud)

但是,我无法操作文本框特定的属性,例如多行、最大文本长度等。

是否有另一个选项向不缺乏此要求的用户添加运行时控件?

Pra*_*mar 5

这对我来说非常有效(在 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
Run Code Online (Sandbox Code Playgroud)

  • `EnterKeyBehavior` 属性告诉它是将光标移动到下一个控件还是留在同一个控件中并添加新行。如果您没有设置 `EnterKeyBehavior` 属性,则需要按 `Shift + Enter` 来添加新行。 (3认同)