Note: The other languages of the website are Google-translated. Back to English
Registo de cliente  \/ 
x
or
x
Registe-se  \/ 
x

or

Como verificar rapidamente se um arquivo (pasta de trabalho) está aberto ou fechado no Excel?

No trabalho diário do Excel, você abre várias pastas de trabalho ao mesmo tempo para trabalhar, mas, às vezes, as centenas de pastas de trabalho podem confundir sua cabeça ao lembrar se uma pasta de trabalho específica está aberta ou fechada. Desista do método tradicional de verificação de arquivos um por um, aqui apresento os truques para descobrir rapidamente que uma pasta de trabalho está aberta ou fechada.

Verifique se uma pasta de trabalho está aberta ou fechada com VBA

Verifique se uma pasta de trabalho está aberta ou fechada com o Kutools para Excel boa ideia 3


Verifique se uma pasta de trabalho está aberta ou fechada com VBA

Aqui está um código VBA que você pode executar para verificar se uma pasta de trabalho específica está aberta ou fechada.

1. Pressione Alt + F11 chaves para abrir Microsoft Visual Basic para Aplicações janela.

2. Clique inserção > Módulo e, em seguida, copie e cole o VBA no novo Módulo janela.

VBA: Verifique se uma pasta de trabalho foi aberta ou fechada

Function IsWorkBookOpen(Name As String) As Boolean
    Dim xWb As Workbook
    On Error Resume Next
    Set xWb = Application.Workbooks.Item(Name)
    IsWorkBookOpen = (Not xWb Is Nothing)
End Function

Sub Sample()
    Dim xRet As Boolean
    xRet = IsWorkBookOpen("combine.xlsx")
    If xRet Then
        MsgBox "The file is open", vbInformation, "Kutools for Excel"
    Else
        MsgBox "The file is not open", vbInformation, "Kutools for Excel"
    End If
End Sub

3. E pressione F5 para executar este vba e uma caixa de diálogo é exibida para lembrá-lo de que a pasta de trabalho específica está aberta ou não.
doc verifique se um arquivo está aberto 1     doc verifique se um arquivo está aberto 2

Dica: No VBA acima, “combinar”É o nome da pasta de trabalho que você deseja verificar, você pode usá-lo conforme necessário.


Verifique se uma pasta de trabalho está aberta ou fechada com o Kutools para Excel

Se você não estiver familiarizado com o VBA, pode verificar se uma pasta de trabalho está aberta até Kutools for Excel, com o seu Navegação painel, que o ajudará a ver claramente todas as pastas de trabalho abertas na lista de pastas de trabalho do painel.

Kutools for Excel, com mais de 300 funções úteis, tornam seus trabalhos mais fáceis. 

Depois de instalação grátis Kutools para Excel, faça o seguinte:

1. Clique Kutools > Navegação para habilitar o painel de navegação. Veja a imagem:
doc verifique se um arquivo está aberto 3

2. Então clique Livro e Folha de Trabalho botão para expandir o painel para ir para Livro e Folha de Trabalho seção. E você pode ver todas as pastas de trabalho abertas na lista superior. Veja a imagem:
doc verifique se um arquivo está aberto 4

Com Navegação painel, você também pode alternar rapidamente entre as pastas de trabalho ou planilhas na lista.

Clique aqui para saber mais sobre Navegação.


As melhores ferramentas de produtividade para escritório

O Kutools for Excel resolve a maioria dos seus problemas e aumenta sua produtividade em 80%

  • armadilha para peixes: Insira rapidamente fórmulas complexas, gráficos e qualquer coisa que você tenha usado antes; Criptografar células com senha; Criar lista de discussão e enviar emails ...
  • Barra Super Fórmula (edite facilmente várias linhas de texto e fórmula); Layout de leitura (ler e editar facilmente um grande número de células); Colar na faixa filtrada...
  • Mesclar células / linhas / colunas sem perder dados; Dividir o conteúdo das células; Combinar linhas / colunas duplicadas... Evite células duplicadas; Comparar intervalos...
  • Selecione Duplicado ou Único Linhas; Selecione linhas em branco (todas as células estão vazias); Super Find e Fuzzy Find em muitos livros; Seleção aleatória ...
  • Cópia exata Várias células sem alterar a referência da fórmula; Criação automática de referências para várias folhas; Inserir marcadores, Caixas de seleção e mais ...
  • Extrair Texto, Adicionar texto, remover por posição, Remover Espaço; Criar e imprimir subtotais de paginação; Converter entre conteúdo de células e comentários...
  • Super Filtro (salvar e aplicar esquemas de filtro a outras planilhas); Classificação Avançada por mês / semana / dia, frequência e mais; Filtro Especial por negrito, itálico ...
  • Combine pastas de trabalho e planilhas; Mesclar tabelas com base em colunas-chave; Divida os dados em várias folhas; Conversão em lote de xls, xlsx e PDF...
  • Mais de 300 recursos poderosos. Suporta Office / Excel 2007-2019 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Teste gratuito de 30 dias com recursos completos. Garantia de devolução do dinheiro em 60 dias.
guia kte 201905

Guia do Office traz interface com guias para o Office e torna seu trabalho muito mais fácil

  • Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
  • Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!
parte inferior da aba do escritório
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    matheus · 3 years ago
    I add this to my code but im having some issues...

    I use ur function to check if a workbook with i take some information from is already open or not, if it is open, the macro msgbox the user, telling him to close the workbook and restart the macro, till here, everything ok, the problem is, after closing the workbook and restarting the macro, it keeps saying the workbook is open while its not, any tips?


    Code:


    Sub Check_BKG()

    Set wa = Nothing

    Confirmação = MsgBox("Deseja realizar a checagem de dados?", vbYesNo + vbExclamation, "Aviso Macro")
    If Confirmação = vbNo Then Exit Sub

    '--------------------------------------------------------------------------------------------'
    '////////////////////////////CHECANDO SE EXSH JÁ ESTA ABERTO\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
    '--------------------------------------------------------------------------------------------'
    Dim xRet As Boolean
    xRet = IsWorkBookOpen("EXSH0101.xlsx")
    If xRet Then
    MsgBox "O arquivo EXSH0101 já está aberto, por favor, feche o arquivo antes de executar a macro novamente.", vbInformation, "ERRO EXSH0101"
    'MsgBox "The EXSH0101 file is already open, please close it before restart the macro.", vbInformation, "EXSH0101 ERROR"
    Exit Sub
    End If
    '--------------------------------------------------------------------------------------------'
    '////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
    '--------------------------------------------------------------------------------------------'

    With Application
    .EnableEvents = False
    .ScreenUpdating = False
    End With

    Call Abrir_Arquivos

    Call Setando_EXSH

    Call Inserir_Formulas

    With Application
    .EnableEvents = True
    .ScreenUpdating = True
    End With

    wb.Sheets("Inserir").Activate

    End Sub
  • To post as a guest, your comment is unpublished.
    Joe · 3 years ago
    Just want to make sure everyone is aware, the "IsWorkBookOpen" function will only be able to tell if a workbook is open in the current instance of Excel. If you have multiple instances open you would need to run it on each instance to be sure the workbook is (not) open, using this code alone.
    • To post as a guest, your comment is unpublished.
      Sunny · 3 years ago
      Thanks for your reminder.
  • To post as a guest, your comment is unpublished.
    Dawid · 3 years ago
    Wow, super VBA, simple and works. Thank you very much :)
  • To post as a guest, your comment is unpublished.
    Eddie · 4 years ago
    Excellent VBA, works great. Thanks.