Page 328 - Microsoft Office Excel 2003 Programming Inside Out
P. 328

Microsoft Office Excel 2003 Programming Inside Out

                    Declaring Objects
                             You can declare an object using a Dim, a Public, or a Private statement using two different
                             forms. Here’s the first form:

                             Dim ObjectVariable As ClassName
                             This statement simply reserves space for ObjectVariable and the variable now has a type of
                             ClassName.
                             Dim ObjectVariable As New ClassName

                             This second form does everything the previous form did, but will automatically create a new
                             object the first time ObjectVariable is referenced.
             Chapter 14

                    Objects and Nothing
                             Visual Basic for Applications includes a special value called Nothing. You can use this value
                             only with objects. Nothing is the value associated with an object variable that doesn’t cur­
                             rently point to an instance of a class. An object variable declared with a Dim statement will
                             initially be set to Nothing.
                             You can determine if a new instance of a class has been created by using Is Nothing in an If
                             statement like this:

                             If ObjectVariable Is Nothing Then

                             Warning  Although the expression ObjectVariable Is Not Nothing might make perfect
                             sense in English, Visual Basic for Applications doesn’t understand it. If you need to verify
                             that an object variable refers to an instance of an object, you should use the expression
                             Not ObjectVariable Is Nothing.

                             The Is Nothing test results in a Boolean value and can be used anywhere you can use a Boolean
                             expression.
                             You can use the following statement to destroy an object:

                             Set ObjectVariable = Nothing

                             This statement will release the reference to the object and set the object variable to its unini­
                             tialized state. Assuming that there was only one object variable that pointed to the object, this
                             statement will also destroy the object and release all the resources associated with it.

                             However, if multiple object variables point to this object, all of them must be set to Nothing
                             before the object is destroyed. For example, in the following code fragment, the object created
                             from MyClass continues to exist, even though ObjectVariable1 was set to Nothing.




                302
             Part 4:  Advanced VBA
   323   324   325   326   327   328   329   330   331   332   333