AddObject(strClassName, bActivate)
O método AddObject() adiciona um novo objeto à aplicação.
strClassName: tipo de objeto que será criado.
bActivate: indica se o objeto será ativado após a criação.
Quando o objeto estiver ativado, os links e os scripts ficam habilitados. Se o objeto for criado com bActivate em False, mais tarde ele pode ser ativado pelo método Activate().
Exemplo:
set retangulo = Screen.AddObject("DrawRect", True)
retangulo.X = 200
retangulo.Y = 200
retangulo.ForegroundColor = vbRed
With…End With
Múltiplas propriedades do mesmo objeto podem ser alteradas utilizando o With..End With. O código é executado mais rapidamente já que o objeto é referenciado apenas uma vez.
Exemplo:
With Screen.Item("Retangulo1")
.BackgroundColor = vbRed
.BorderColor = vbBlack
.Effect3D = 1
.Visible = True
End With
TypeName(varname)
Retorna um valor String contendo informações sobre uma variável de tipo de dados. O tipo do objeto pode ser visto na lista de propriedades.

Figura 14

Figura 15

Figura 16
Exemplo:
set Tag = Application.GetObject("Dados.TagInterno1")
MsgBox TypeName(Tag)
'Será exibida uma caixa de mensagem com o texto "InternalTag"
set Botao = Screen.Item("CommandButton1")
MsgBox TypeName(Botao)
'Será exibida uma caixa de mensagem com o texto "CommandButton"
Exercícios:
1. Ao clicar na tela, crie um retângulo azul na posição do clique.
2. Crie um botão que crie um tag interno e um tag demo na pasta Dados em execução.
3. Crie uma associação por tabela por script da cor do retângulo com o tag demo obedecendo à seguinte tabela de cores:
Min | Max | Cor |
0 | 25 | Verde |
25 | 50 | Azul |
50 | 75 | Amarelo |
75 | 100 | Vermelho |
4. Crie uma lista de seleção (ComboBox). Essa lista deve exibir o nome de todos os tags internos existentes na pasta Dados. A atualização da lista pode ser feita em um botão (Atualizar). Para diferenciar os tags demo e interno, utilize o comando TypeName.
5. Ao selecionar um tag na lista de seleção, um setpoint deve ser criado na tela e associado ao tag selecionado. Use a coordenada X=0 e Y varia de acordo com a quantidade de setpoints já criados.
6. Ao clicar o botão direito na tela, um menu com o nome de todos os setpoints existentes na tela deve ser listado. Para saber se o objeto da tela é um setpoint, utilize o comando TypeName.
7. Ao selecionar um setpoint no menu da tela apagar o objeto. Exibir uma mensagem de confirmação antes de apagar.