Set Statement

Description

Assigns an object reference to a variable or property.

Syntax

Set objectvar = {[New] objectexpression | Nothing}

The Set statement syntax has these parts:

Part

Description

objectvar

Name of the variable or property; follows standard variable naming conventions.

New

Keyword used to create a new instance of a Visual Basic object or an externally creatable OLE Automation object. The New keyword can’t be used to create new instances of any intrinsic data type and can’t be used to create dependent OLE Automation objects.

objectexpression

Expression consisting of the name of an object, another declared variable of the same object type, or a function or method that returns an object of the same object type.

Nothing

Discontinues association of objectvar with any specific object. Assigning objectvar to Nothing releases all the system and memory resources associated with the previously referenced object when no other variable refers to it.


Remarks

To be valid, objectvar must be an object type consistent with the object being assigned to it.

The Dim, Private, Public, ReDim, and Static statements only declare a variable that refers to an object. No actual object is referred to until you use the Set statement to assign a specific object.

The following example illustrates how Dim is used to formally declare the variable MyDatabase as Database. No instance of Database actually exists. Set then assigns a reference to a new instance of Database to the MyDatabase variable.


Dim MyDatabase As DatabaseMyDatabase = New Database

Generally, when you use Set to assign an object reference to a variable, no copy of the object is created for that variable. Instead, a reference to the object is created. More than one object variable can refer to the same object. Because these variables are references to (rather than copies of) the object, any change in the object is reflected in all variables that refer to it.

However, when you use the New keyword in the Set statement, you are actually creating an instance of the object. The new instance is not loaded until the first reference is made to it or one of the object’s members.

See Also

Dim Statement, Let Statement, Private Statement, Public Statement, ReDim Statement, Static Statement.

Example

This example uses the Set statement to assign object references to variables. YourObject is assumed to be a valid object with a Text property.


Set MyObject = YourObject            ' Assign object reference.
' MyObject and YourObject refer to the same object..Text = "Hello World"        ' Initialize property.= MyObject.Text                ' Returns "Hello World".
' Discontinue association. MyObject no longer refers to YourObject.MyObject = Nothing                ' Release the object.