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