Quando as aplicações se tornam avançadas, algumas tarefas tornam-se necessárias no VBA, entre elas a manipulação de controles por meio de código. Alterar as propriedades é uma tarefas relativamente fácil, porém é mais interessante a adição e remoção destes controles.
O exemplo de código abaixo adiciona um controle TextBox dentro de um UserForm:
Private Sub Adiciona_TextBox() 'declara no novo controle Dim novoTextBox As Control 'instancia o novo controle do tipo textbox e o adiciona ao UserForm Set novoTextBox = Me.Controls.Add("Forms.TextBox.1", "NovoTextBox", True) 'seta algumas propriedades With novoTextBox .Width = 72 .Height = 18 .Top = 20 .Left = 20 .ZOrder (0) End With End Sub |
Após a adiçao, é fácil pegar o controle com um Me.Controls(“NovoTextBox”) para trabalhar com suas propriedades. Obviamente outros controles podem ser adicionados. Uma lista dos possíveis pode ser vista abaixo:
CheckBox: Forms.CheckBox.1
ComboBox: Forms.ComboBox.1
CommandButton: Forms.CommandButton.1
Frame: Forms.Frame.1
Image: Forms.Image.1
Label: Forms.Label.1
ListBox: Forms.ListBox.1
MultiPage: Forms.MultiPage.1
OptionButton: Forms.OptionButton.1
ScrollBar: Forms.ScrollBar.1
SpinButton: Forms.SpinButton.1
TabStrip: Forms.TabStrip.1
TextBox: Forms.TextBox.1
ToggleButton: Forms.ToggleButton.1
Abraços
Tomás Vásquez
Tomas, poderia deixar um exemplo de como usar as propriedades, por exemplo com add um botao e adiconar um comando no evento click.
Abraço
Olá, sou novo no VBA e não estou conseguindo fazer este comando funcionar.
Eu estou inserindo em um UserForm e executando.Existe alguma configuração para que este código rode? Ou estou cometendo uma gafe de principiante? Rsrs
Abraço
Guilherme,
Coloque sua dúvida no nosso fórum. É o melhor lugar para discutirmos ela:
http://www.tomasvasquez.com.br/forum
Nos vemos lá!