Instrução Set

Atribui uma referência de objeto a uma variável ou uma propriedade ou associa uma referência de procedimento a um evento.

Sintaxe

Set objectvar = {objectexpression | Nothing}

Argumentos:

  • Objectvar: Obrigatório. Nome da variável ou da propriedade; segue as convenções padrão de nomenclatura de variável.

  • Objectexpression: Opcional Expressão que consiste no nome de um objeto, outra variável declarada do mesmo tipo de objeto ou uma função ou método que retorna um objeto do mesmo tipo de objeto.

  • Nothing: Opcional. Cancela a associação de objectvar com qualquer objeto ou classe específica. A atribuição de objectvar a Nothing libera todos os recursos de sistema e de memória associados ao objeto referenciado anteriormente quando nenhuma outra variável se referir a ele.

Note:

É obrigatório usar um dos dois: Objectexpression ou Nothing.

Comentários

As instruções Dim, Private, Public ou ReDim só declaram uma variável que se refere a um objeto. Nenhum objeto real é referenciado até que você use a instrução Set para atribuir um objeto específico.

Geralmente, quando você usa Set para atribuir uma referência de objeto a uma variável, nenhuma cópia do objeto é criada para essa variável. Em vez disso, uma referência ao objeto é criada. Mais de uma variável de objeto pode fazer referência ao mesmo objeto. Como essas variáveis são referências ao objeto (e não cópias dele), qualquer alteração no objeto é refletida em todas as variáveis que fazem referência a ele.

Exemplo 1: Atribuição Simples do Objeto File System

Dim fso, file
Set fso = CreateObject("Scripting.FileSystemObject")  ' Create a FileSystemObject
Set tso = fso.CreateTextFile("C:\testfile.txt", True) ' Create a new text file
' Now you can work with the text stream object, such as writing to it
tso.WriteLine("Hello, VBScript!")
tso.Close  ' Always close the file when done