Uma macro do Excel para determinar se uma pasta de trabalho está aberta

Ao pensar em abrir automaticamente as pastas de trabalho do Excel, considere o que pode acontecer se você tentar abrir uma pasta que já está aberta. No mundo não VBA, o Excel tenta abrir o arquivo novamente, com a mensagem exibida avisando que todas as alterações não salvas serão perdidas. Você pode se proteger contra tal ocorrência verificando se um determinado arquivo já está aberto antes de tentar abri-lo novamente.

Uma macro do Excel para determinar se uma pasta de trabalho está aberta

Evite esta mensagem de aviso.

Como funciona a macro

A primeira coisa a observar sobre essa macro é que ela é uma função, não um procedimento Sub. Como você verá, transformar essa macro em uma função permite que você passe qualquer nome de arquivo a ela para testar se esse arquivo já está aberto.

A essência deste código é simples. Você está testando um determinado nome de arquivo para ver se ele pode ser atribuído a uma variável de objeto. Apenas pastas de trabalho abertas podem ser atribuídas a uma variável de objeto. Ao tentar atribuir uma pasta de trabalho fechada à variável, ocorre um erro.

Se a pasta de trabalho fornecida puder ser atribuída, a pasta de trabalho estará aberta; se ocorrer um erro, a pasta de trabalho será fechada.

Função FileIsOpenTest (TargetWorkbook As String) As Boolean
'Passo 1: Declare suas variáveis
    Dim TestBook As Workbook
'Passo 2: Diga ao Excel para retomar em caso de erro
    On Error Resume Next
'Etapa 3: Tente atribuir a pasta de trabalho de destino ao TestBook
    Definir TestBook = Workbooks (TargetWorkbook)
'Etapa 4: Se nenhum erro ocorreu, a pasta de trabalho já está aberta
    Se Err.Number = 0 Then
    FileIsOpenTest = True
    Outro
    FileIsOpenTest = False
    Fim se
Função Final

A primeira coisa que a macro faz é declarar uma variável String que conterá o nome do arquivo que o usuário escolher. TestBook é o nome da sua variável String.

Na Etapa 2, você informa ao Excel que pode haver um erro ao executar este código e, no caso de um erro, retoma o código. Sem essa linha, o código simplesmente para quando ocorre um erro. Novamente, você testa um determinado nome de arquivo para ver se ele pode ser atribuído a uma variável de objeto. Se a pasta de trabalho fornecida pode ser atribuída, ela está aberta; se ocorrer um erro, ele é fechado.

Na Etapa 3, você tenta atribuir a pasta de trabalho fornecida à variável do objeto TestBook. A pasta de trabalho que você tenta atribuir é uma variável String chamada TargetWorkbook. TargetWorkbook é passado para a função nas declarações da função (consulte a primeira linha do código). Essa estrutura elimina a necessidade de codificar um nome de pasta de trabalho, permitindo que você o transmita como uma variável.

Na Etapa 4, você simplesmente verifica se ocorreu um erro. Se um erro não ocorreu, a pasta de trabalho está aberta, então você define FileIsOpenTest como True. Se ocorrer um erro, a pasta de trabalho não será aberta e você definirá FileIsOpenTest como False.

Novamente, essa função pode ser usada para avaliar qualquer arquivo que você passar para ela, por meio de seu argumento TargetWorkbook. Essa é a beleza de colocar a macro em uma função.

A macro a seguir demonstra como implementar essa função. Aqui, você chama a nova função FileIsOpenTest para se certificar de que o usuário não pode abrir um arquivo já aberto:

Sub Macro1 ()

'Passo 1: Definir uma variável String

    Dim FName como variante

    Dim FNFileOnly As String

'Etapa 2: o método GetOpenFilename ativa a caixa de diálogo

    FName = Application.GetOpenFilename (_

            FileFilter: = "Pastas de trabalho do Excel, *. Xl *", _

            Title: = "Escolha uma pasta de trabalho para abrir", _

            MultiSelect: = False)

'Passo 3: Abra o arquivo escolhido se ainda não estiver aberto

    If FName <> False Then

    FNFileOnly = StrReverse (Left (StrReverse (FName), _

                 InStr (StrReverse (FName), ") - 1))

Leave a Comment

12 Atalhos de teclas de função do Word 2016

12 Atalhos de teclas de função do Word 2016

Descubra os principais atalhos de teclado do Word 2016 para melhorar sua produtividade. Desde o uso das teclas de função até rápidas combinações de atalhos.

Apagar desenhos de caneta e marca-texto nos slides do PowerPoint

Apagar desenhos de caneta e marca-texto nos slides do PowerPoint

Aprenda como apagar desenhos de caneta e marca-texto nos slides do PowerPoint para manter suas apresentações sempre organizadas e profissionais.

Como remover campos e itens calculados de uma tabela dinâmica do Excel

Como remover campos e itens calculados de uma tabela dinâmica do Excel

Você pode remover facilmente campos e itens calculados de uma tabela dinâmica do Excel. Siga os passos simples para gerenciar seus dados de forma eficiente!

Como usar o recurso de documento mestre do Word 2019

Como usar o recurso de documento mestre do Word 2019

Descubra como usar o recurso de documento mestre do Word 2019 para organizar grandes documentos de forma eficiente e otimizar a edição. Ideal para romances e textos longos.

Smartsheet 9.1.1

Smartsheet 9.1.1

Smartsheet é uma plataforma de trabalho dinâmica que permite gerenciar projetos, criar fluxos de trabalho e colaborar com sua equipe.

SharePoint

SharePoint

SharePoint é um sistema de colaboração baseado na web que usa uma variedade de aplicativos de fluxo de trabalho, bancos de dados de “lista” e outros componentes da web, bem como recursos de segurança para dar controle ao trabalho conjunto de grupos empresariais.

Calendário Perpétuo 1.0.38/1.0.36

Calendário Perpétuo 1.0.38/1.0.36

Van Nien Calendar é um aplicativo de visualização de calendário em seu telefone, ajudando você a ver rapidamente a data lunisolar em seu telefone, organizando assim seu trabalho importante.

Microsoft Outlook 2021

Microsoft Outlook 2021

O Microsoft Outlook é um aplicativo comercial e de produtividade desenvolvido pela Microsoft Corporation.

Clique para cima

Clique para cima

ClickUp é uma das plataformas de produtividade mais bem avaliadas para qualquer empresa. Grandes empresas como Google, Booking.com, San Diego Padres e Uber usam ClickUp para aumentar a produtividade no local de trabalho.

Visualizador PDF-XChange 2.5.322.10

Visualizador PDF-XChange 2.5.322.10

PDF se tornou um formato comumente usado para leitura, criação e envio de documentos de texto. Por sua vez, tem havido um aumento no número de programas utilizados para este tipo de documentação. PDF-XChange Viewer está entre um número crescente de visualizadores de PDF.