我想將文本框添加到預先存在的用戶表單中,並且還要更改VBA Excel 2010中用戶表單的高度。我希望添加文本框並更改高度在設計時,但我需要使用代碼。以下代碼是我迄今爲止的內容。以編程方式向現有用戶表單添加文本時出錯
Sub Practice()
Dim hght As Single
Dim NameUserForm As String
Dim MyUserForm As Object
'Name of userform
NameUserForm = "test"
Set MyUserForm = ThisWorkbook.VBProject _
.VBComponents(NameUserForm)
hght = MyUserForm.Properties("Height")
With MyUserForm
.Properties("Height") = hght + 25
End With
Set NewTextBox = MyUserForm.Designer.Controls.Add("Forms.TextBox.1")
With NewTextBox
.TextAlign = fmTextAlignCenter
.Width = 66
.Height = 18
.Left = 40
.Top = hght
End With
test.Show
End Sub
我得到一個錯誤的下面一行
Set NewTextBox = MyUserForm.Designer.Controls.Add("Forms.TextBox.1")
和錯誤讀作:
運行時錯誤 '-2147319767(80028029)' 向前無效引用,或引用未編譯的類型。
我不知道我在做什麼錯。我也問及mrexcel.com同樣的問題,這裏是在那一個http://www.mrexcel.com/forum/excel-questions/861582-use-visual-basic-applications-add-textbox-existing-userform.html
你說「高度在設計時改變了」。你的意思是「設計時間」還是「運行時間」?你試圖展示這個表格,所以我猜你的意思是後者。 – ChipsLetten
對不起,我是vba的新手。我希望一切都在設計時完成,所以它是永久的。 –