Detectar se um objeto está aberto

Geralmente, é necessário saber se um objeto de banco de dados específico está aberto antes que você possa editar o objeto de forma programática. O exemplo a seguir ilustra como usar o método SysCmd com a ação acSysCmdGetObjectState para determinar se um objeto de banco de dados está aberto.

A função de exemplo, IsObjectLoaded, aceita dois parâmetros. O parâmetro strObjectName é o nome do objeto de banco de dados a ser verificado. O parâmetro strObjectType é uma constante AcObjectType que especifica o tipo de objeto de banco de dados a ser verificado. A função IsObjectLoaded retornaráTrue se o objeto de banco de dados especificado estiver aberto e retornar False se ele não estiver aberto.

 
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

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.