workbooks workbook visual suministrar solicitada puede para objeto microsoft libro las han este estan errores error eliminado dañadas classfactory clase cargar aplicaciones ms-access vba

ms-access - visual - objeto workbook vba excel



Verificación VBA si el objeto está configurado (2)

La forma (no) segura de hacer esto, si estás de acuerdo con no usar la opción explícita, es ...

Not TypeName(myObj) = "Empty"

Esto también maneja el caso si el objeto no ha sido declarado. Esto es útil si desea simplemente comentar una declaración para desactivar algún comportamiento ...

Dim myObj as Object Not TypeName(myObj) = "Empty" ''/ true, the object exists - TypeName is Object ''Dim myObj as Object Not TypeName(myObj) = "Empty" ''/ false, the object has not been declared

Esto funciona porque VBA instanciará automáticamente una variable no declarada como un tipo de Variante vacía. Elimina la necesidad de un booleano auxiliar para administrar el comportamiento.

Tengo una variable global que es una instancia de mi clase personalizada.

¿Cómo puedo verificar si el objeto está configurado o si necesito inicializarlo?


If obj Is Nothing Then '' need to initialize obj: '' Set obj = ... Else '' obj already set / initialized. '' End If

O, si lo prefiere al revés:

If Not obj Is Nothing Then '' obj already set / initialized. '' Else '' need to initialize obj: '' Set obj = ... End If