Affecte une référence d'objet à une variable ou à une propriété, ou associe une référence de procédure à un événement.
Syntaxe
Set objectvar = {objectexpression | Nothing}
Arguments :
objectvar : requis. Nom de la variable ou de la propriété. Respecte les conventions de dénomination de variable standard.
objectexpression : facultatif. Expression composée du nom d'un objet, d'une autre variable déclarée du même type d'objet, ou d'une fonction ou d'une méthode qui renvoie un objet du même type.
Nothing : facultatif. Permet de mettre fin à l'association entre objectvar et un objet ou une classe spécifique. L'affectation de Nothing à objectvar libère toutes les ressources système et de mémoire associées à l'objet précédemment référencé lorsqu'aucune autre variable n'y fait référence.
Note:
Il est obligatoire d'indiquer soit objectexpression soit Nothing.
Remarques
Les instructions Dim, Private, Public ou ReDim déclarent uniquement une variable qui fait référence à un objet. Aucun objet réel n'est référencé tant que vous n'avez pas utilisé l'instruction Set pour affecter un objet spécifique.
En général, lorsque vous utilisez Set afin d'affecter une référence d'objet à une variable, aucune copie de l'objet n'est créée pour cette variable. Au lieu de cela, une référence à l'objet est créée. Plusieurs variables d'objet peuvent faire référence au même objet. Etant donné que ces variables sont des références à l'objet (plutôt que des copies), toute modification apportée à l'objet est reflétée dans toutes les variables qui y font référence.
Exemple 1 : affectation simple de l'objet 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