Vou traduzir segundo o help:
No exemplo q vc citou não dá pois estes objetos não podem ser criados pois são objetos de automação. Objeto de automação é um objeto que é exposto a outros aplicativos ou ferramentas de programação por meio de automação.
Em suma: Textbox, listbox, checkbox não podem ser instaciados deste jeito.
Podem ser deste:
Dim WithEvents cText As VB.TextBox
Set cText = Controls.Add("VB.TextBox", "cText")
'cria controle textbox
With cText
.Visible = True
.Width = 1000
.Text = "Texto"
.Top = 500
.Left = 600
End With
Minha opinião (com a grande ajuda de alguns colegas do trampo q manjam mais q eu hehehehe):
O provável neste caso, caro amigo, é que o construtor da classe Textbox, Checkbox, etc. não é visível logo não aceita q se crie uma instância dele. Ele não é visível pq muito provavelmente precisa de alguns parâmetros necessários (como no caso de um formulário provavelmente) que vc "não" pode ter acesso.
O construtor é um método que possui o mesmo nome da classe, que não retorna nenhum valor e que é chamado cada vez que um objeto da classe é criado.
Por isso para instanciar um objeto tipo textbox tem q fazer o código acima a muito grosso modo dizendo q o textbox precisa de um form para pode existir. Razão pela qual usa-se o método da classe Controls.Add
Não sei se expliquei ou se o confundi...
Qq coisa postae
at+