Vamos primeiramente criar uma função, não esqueça de dar permissão para que as macros estejam habilitadas, apesar de ser potencialmente perigoso devido ao acesso a vírus é viável quando se quer testar um código.
No office 2010 habilite a barra Desenvolvedor, vá na guia Arquivo > Opções > Personalizar Faixa de Opções e ative-a.
Criando a função que verificará se a pasta se encontrar aberto ou não.
Function BookOpen (Bk as String) as Boolean
Dim T as Excel.Workbook
Err.Clear ' limpando qualquer erro que possa vir acontecer.
On Error Resume Next ' Se encontrar um erro, simplesmente ele continua.
Set T = Application.Workbooks(Bk) ' Setando o objeto à variável
BookOpen = Not T Is Nothing ' Se o arquivo continuar aberto, não é nada.
End Function
Criando o procedimento que acessará a função:
Sub OpenAWorkbook()
Dim IsOpen As Boolean
Dim BookName As String
BookName = "Exemplo VBA"
IsOpen=BookOpen(BookName) ' Chamando a função
'Definindo uma estrutura condicional
If IsOpen Then
MsgBox BookName & " já está aberto!"
Else
Workbooks.Open (BookName)
End if
End Sub
Nenhum comentário:
Postar um comentário