Descrição:
Pra que serve a função Execute do VBScript? Como posso utilizá-la?
Solução:
A função Execute interpreta uma string como uma instrução do VBScript e a executa no contexto atual. Ela é útil para fazer scripts de verificação ou atribuição de valores de propriedades que tenham nomes sequenciais. Por exemplo, os valores são normalmente atribuídos em propriedades da seguinte forma:
Application.GetObject("Dados.XObject1").Propriedade1 = 0
Entretanto, quando é necessário alterar o valor de um grupo muito grande de propriedades, pode-se utilizar a função Execute. Os dois exemplos mostrados abaixo executam a mesma ação, mas será possível entender melhor a diferença entre utilizar a atribuição simples e a atribuição através do método Execute.
Atribuição simples
Application.GetObject("Dados.XObject1").Propriedade1 = 1 Application.GetObject("Dados.XObject1").Propriedade2 = 1 Application.GetObject("Dados.XObject1").Propriedade3 = 0 ... Application.GetObject("Dados.XObject1").Propriedade200 = 0
Atribuição utilizando a função Execute
Set obj = Application.GetObject("Dados.XObject1") For i=1 to 200 Execute "obj.Propriedade" & CStr(i) & " = 1 " Next
Note que a utilização da função Execute no script faz com que ele fique menor, o que facilita sua eventual manutenção/depuração.
A aplicação exemplo anexada a este artigo demonstra a função Execute alterando o valor de propriedades de um XObject.