GetOpenFilename VBA

GetOpenFilename é um método que também é um atributo do FSO, este método é usado em VBA para encontrar um determinado arquivo com um nome de arquivo e selecioná-lo, o fator importante neste método é o caminho do nome do arquivo fornecido para abri-lo, nós podemos passar o caminho do nome do arquivo na função ou podemos pedir ao usuário para apresentar um caminho de arquivo para selecioná-lo.

Excel VBA Application.GetOpenFilename

Existem situações em que precisamos acessar o nome do arquivo específico e isso pode ser possível com a codificação VBA. Para acessar o arquivo, precisamos mencionar o caminho da pasta e o nome do arquivo junto com sua extensão. Para obter o nome do arquivo, muitos codificadores fornecerão a caixa de entrada VBA como opções para inserir o caminho e o nome do arquivo. Mas esta não é uma boa opção de prática, porque quando você apresenta uma caixa de entrada na frente do usuário, ele nem sempre se lembra do caminho do arquivo, barras invertidas para separar uma pasta de outra, nomes de arquivo e extensão dos arquivos . Isso torna a entrada fornecida pelo usuário mais confusa e no final, tudo ficará bagunçado mesmo que haja um pequeno erro de caractere de espaço. A melhor maneira é substituir a caixa de entrada pelo método do VBA chamado “GetOpenFileName”.

Neste artigo, mostraremos como usar o VBA GetOpenFileName para obter o nome do arquivo sem erros.

O que GetOpenFilename faz no Excel VBA?

O VBA “GetOpenFileName” permite que o usuário selecione o arquivo do computador em que estamos trabalhando sem abri-lo.

Com a ajuda do método “GetOpenFileName”, podemos realmente apresentar uma caixa de diálogo na frente do usuário para selecionar o arquivo na pasta desejada. “GetOpenFileName” irá copiar a localização do arquivo junto com o nome e extensão do arquivo.

Sintaxe de GetOpenFilename no Excel VBA

Dê uma olhada na sintaxe do método “GetOpenFilename”.

  • Filtro de arquivo: neste argumento, podemos especificar que tipo de arquivo a ser exibido para selecionar. Por exemplo, se você mencionar “Arquivos do Excel, *. Xlsx”, serão exibidos apenas os arquivos do Excel salvos com a extensão do Excel “xlsx”, nenhum outro arquivo será exibido. Se você ignorar, todos os tipos de arquivos serão exibidos.
  • Índice de Filtro: Com isso, restringimos o usuário a selecionar o tipo de arquivo. Podemos listar e especificar o número de filtros visíveis em Filtro de arquivo.
  • Título: Mostra o título da caixa de diálogo do arquivo selecionado.
  • Texto do botão: Somente para Macintosh.
  • Multi-Select: TRUE se você quiser selecionar vários arquivos ou então FALSE. O valor padrão é falso.

Exemplo de GetOpenFilename no Excel VBA

Abaixo estão os exemplos de VBA Application.GetOpenFilename.

Você pode baixar este modelo do Excel GetOpenFilename do VBA aqui - Modelo do Excel GetOpenFilename do VBA

Vamos escrever um código para obter o nome do arquivo e o endereço do caminho.

Etapa 1: Inicie a sub-rotina.

Código:

 Sub GetFile_Example1 () End Sub 

Etapa 2: Declare uma variável como String.

Código:

 Sub GetFile_Example1 () Dim FileName As String End Sub 

Etapa 3: Para esta variável, atribuiremos o GetOpenFileName.

Código:

 Sub GetFile_Example1 () Dim FileName As String FileName = Application.GetOpenFilename () End Sub 

Até agora, ignorei todos os parâmetros.

Passo 4: Agora mostre o resultado da variável na caixa de mensagem.

Código:

 Sub GetFile_Example1 () Dim FileName As String FileName = Application.GetOpenFilename () MsgBox FileName End Sub 

Agora execute o código através da tecla de atalho do excel F5 ou manualmente, aparecerá a caixa de diálogo abaixo para selecionar o arquivo.

Selecionarei qualquer arquivo e clicarei em ok.

Assim que seleciono o arquivo, aparece uma caixa de mensagem em VBA como esta. Mostra o caminho completo da pasta e o nome do arquivo Excel selecionado junto com a extensão do arquivo.

Como podemos ver na imagem acima podemos ver todos os tipos de arquivos. Agora adicionarei o primeiro parâmetro, ou seja, Filtro de arquivo como “Arquivos Excel, *. Xlsx”.

Código:

 Sub GetFile_Example1 () Dim FileName As String FileName = Application.GetOpenFilename (FileFilter: = "Arquivos Excel, *. Xlsx") MsgBox FileName End Sub 

Agora, se eu executar este código usando a tecla F5 ou manualmente, verei apenas arquivos do Excel com a extensão “xlsx”.

Assim, podemos usar o método “VBA Application.GetOpenFileName” para obter o caminho da pasta junto com o nome do arquivo e a extensão do arquivo.