Compartir a través de


Detectar si un objeto está abierto

A menudo es necesario saber si un objeto de base de datos determinado está abierto para poder editar el objeto mediante programación. En el ejemplo siguiente se muestra cómo usar el método SysCmd con la acción acSysCmdGetObjectState para determinar si un objeto de base de datos está abierto.

La función del ejemplo, IsObjectLoaded, acepta dos parámetros. El parámetro strObjectName es el nombre del objeto de base de datos que se va a comprobar. El parámetro strObjectType es una constante AcObjectType que especifica el tipo de objeto de base de datos que se va a comprobar. La función IsObjectLoaded devuelve True si el objeto de base de datos especificado está abierto y devuelve False si no está abierto.

 
Function IsObjectLoaded(ByVal strObjectName As String, ByVal strObjectType As AcObjectType) As Boolean 
     
    If SysCmd(acSysCmdGetObjectState, strObjectType, strObjectName) <> 0 Then 
         
       ' The object is open. 
        IsObjectLoaded = True 
    Else 
 
       ' The object is not open. 
        IsObjectLoaded = False 
    End If 
     
End Function

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.