Outra possibilidade é a técnica de varredura em um determinado local (como uma pasta de dados ou uma subestação), procurando objetos de um tipo específico (tags internos, disjuntores, etc). Isto pode ser feito utilizando a instrução for each e o método TypeName. Um exemplo:
'aponto o local a ser varrido
set folder = Application.GetObject("Dados")
'para cada objeto existente no local
for each obj in folder
'se ele for do tipo desejado
If TypeName(obj) = "InternalTag" then
MsgBox obj.Name
End If
next
No lugar da MsgBox, pode-se também colocar a ação que se deseja fazer sobre aquele objeto.
Caso queira varrer todos os objetos de dados da aplicação, deve-se apontar o local para a propriedade Application de um objeto de dados qualquer. Por exemplo:
'aponto o local a ser varrido
set folder = Application.GetObject("Dados").Application
Antes de prosseguir para a próxima lição, recomendamos a leitura dos seguintes artigos:
KB-31936: Função que retorna o tipo de um objeto.
Percorrendo todos os tags de um Driver.
Artigos Relacionados:
- Automação na geração de códigos: Introdução.
- Automação na geração de códigos: Lição 1 – Trabalhando com vetores.
- Automação na geração de códigos: Lição 2 – Lendo informações de um arquivo Excel.
- Automação na geração de códigos: Lição 3 – Transformando uma string em um vetor.
- Automação na geração de códigos: Lição 5 – Adicionando objetos por script.
- Automação na geração de códigos: Lição 6 – Verificando a existência prévia de um objeto.
- Automação na geração de códigos: Lição 7 – Eventos para execução do script.

Olá Djuli,
Para varrer todos os objetos de uma aplicação independente do projeto ou pasta que esteja, utilize o método Application.ListFiles() no evento CustomConfig, segue exemplo abaixo:
Sub XObject1_CustomConfig()
for each obj in Application.ListFiles(“IODriver”)
MsgBox obj.Name
next
End Sub
Boa tarde, necessito de um script que copie as configurações extras de um driver modelo para os restantes, através do evento CustomConfig, com o intuito de padronizar a função “Start Driver Offline” para todos os drivers da aplicação.
Porém, quando eu tento aplicar o código acima para varrer todos os objetos da aplicação, ocorre um erro informando que o objeto não suporta esse tipo de propriedade ou método.
Sub xc_StartDriverOffline_CustomConfig()
set drv_modelo = Application.GetObject(“Drivers.Religador_TAVRIDA_TA_NF”)
set folder = Application.GetObject(“Drivers.Religador_TAVRIDA_TA_NF”).Application
configuraDriver drv_modelo, folder
End sub
‘————————————————————————————————‘
Sub configuraDriver (drv_modelo, folder)
For each obj in folder
If TypeName(obj) = “IODrv.IODriver” then
obj.ExtraConfig = drv_modelo.ExtraConfig
else
configuraDriver drv_modelo, folder
end if
Next
End Sub