Sub 创建窗体()
Dim UsForm As Object
'创建一个窗体。不能中断运行。
Set UsForm = ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_MSForm)
With UsForm
'由于该窗体还未运行,相当于处于设计状态
'对于该窗体的属性,需要用Properties属性访问
.Properties("Caption") = "测试窗体" '这里改写
.Properties("Height") = 360
.Properties("Width") = 420
'要在该窗体上创建控件,则需要访问Designer设计器对象
With .Designer
For i = 1 To 10
'创建标签
Set objLbl = .Controls.Add("Forms.Label.1")
'设置标签属性
With objLbl
.Top = 12 + 18 * (i - 1)
.Height = 12
.Width = 100
.Left = 18
.Caption = i
.BackColor = RGB(200, 200, 200)
End With
Next i
End With
End With
'加载并显示该窗体。注意与平时加载显示窗体的不同
VBA.UserForms.Add(UsForm.Name).Show
'窗体运行完后删除
ThisWorkbook.VBProject.VBComponents.Remove UsForm
End Sub