Um Excel Macro para determinar se uma pasta de trabalho existe

Esta macro Excel permite que você passe um caminho de arquivo para avaliar se o arquivo está lá. Por exemplo, você pode ter um processo que manipula um arquivo em algum lugar no seu PC. Por exemplo, você pode precisar abrir um livro existente para adicionar dados a ele em uma base diária. Neste caso, pode ser necessário testar para ver se o arquivo que você precisa para manipular existe.

Como as obras de macro

A primeira coisa a notar sobre esta macro é que é uma função, não um procedimento Sub. Fazer essa macro uma função permite-lhe passar qualquer caminho de arquivo para ele.

Nesta macro, você usa a função Dir, que retorna um string que representa o nome do arquivo que corresponde ao que você passar para ele. Esta função pode ser usado de muitas maneiras, mas aqui, você usá-lo para verificar se o caminho do arquivo que você passar para ele existir:

FileExists função (FPath As String) Como Boolean'Step 1: Declare seu variablesDim FName Como String'Step 2: Use a função Dir para obter o filenameFName = Dir (FPath) 'Passo 3: Se o arquivo existir, retornar verdade- outra FalseIf FName lt;> "" Então FileExists = True _Else: FileExists = FalseEnd Função

Passo 1 declara uma variável String que contém o nome do arquivo que retorna da função Dir. FName é o nome da variável da cadeia.

Na Etapa 2, você tentar definir a variável FName. Para fazer isso, passando a variável FPath para a função Dir. Esta variável FPath é passado através das declarações de função (ver a primeira linha do código). Esta estrutura impede de ter de codificar um caminho de arquivo, passando-o como uma variável em vez.

Se a variável FName não pode ser definido, o caminho que você passou não existe. Assim, a variável FName está vazia. Passo 3 simplesmente traduz esse resultado a uma expressão Verdadeiro ou Falso.

Mais uma vez, esta função pode ser usada para avaliar qualquer caminho de arquivo que você passar para ele. Esta é a beleza de escrever a macro como uma função.

A macro a seguir demonstra como usar essa função:

Sub Macro1 () Se FileExists ( "C: Temp MyNewBook.xlsx") = ". O arquivo já existe" True ThenMsgBox ElseMsgBox ". O arquivo não existe" End Sub IfEnd

Como usar o macro

Para implementar essa macro, você pode copiar e colar os dois pedaços de código em um módulo padrão:

  1. Ative o Editor do Visual Basic pressionando Alt + F11.

  2. direita; clique no nome do projeto / pasta de trabalho na janela do projeto.

  3. Escolha Inserir-Module.

  4. Digite ou cole o código no módulo recém-criado.

menu