Discagem de arquivo VBA do Excel

Enquanto trabalhamos, pode haver alguns cenários em que precisamos abrir outras pastas de trabalho ou outros arquivos para importar dados ou fazer referência. Existe um método para fornecer um caminho do arquivo em nosso código no VBA que abrirá o arquivo ou a pasta para nós. Mas e se não lembrarmos o caminho, como podemos abrir o arquivo. Talvez tenhamos que procurar o caminho primeiro e depois fornecê-lo novamente. O VBA vem com uma solução conhecida como FileDialog.

FileDialog é uma propriedade no VBA que permite abrir um arquivo ou uma pasta a partir de um caminho. Usando essa propriedade, um usuário não precisa especificar o caminho da pasta, mas pode selecioná-lo. Além disso, o FileDialog possui um total de quatro propriedades. Eles também são conhecidos como constantes para essa propriedade. Eles são os seguintes:

  1. msoFileDialogFilePicker : permite ao usuário selecionar um arquivo.
  2. msoFileDialogFolderPicker : permite ao usuário selecionar uma pasta.
  3. msoFileDialogOpen : permite ao usuário abrir um arquivo.
  4. msoFileDialogSaveAs: permite ao usuário salvar um arquivo.

O método de usar esse objeto no VBA é o seguinte.

Application.FIledialog (tipo de registro de arquivo)

O tipo FileDialog pode ser qualquer um dos quatro tipos acima. Agora vamos usar esse objeto em exemplos para aprender mais claramente sobre essa propriedade de objeto.

Como usar o Excel VBA FileDialog?

Abaixo estão os diferentes exemplos para usar o FileDialog no Excel usando o código VBA.

Você pode fazer o download deste modelo do VBA FileDialog Excel aqui - Modelo do VBA FileDialog Excel

Discagem de arquivo VBA do Excel - Exemplo # 1

Primeiro, vamos ajudar o usuário a selecionar um arquivo de um destino. Neste exemplo, o usuário selecionará um arquivo da pasta e exibiremos o caminho para o arquivo selecionado.

Siga as etapas abaixo para usar o Excel VBA FileDialog:

Etapa 1: Vá para a guia Developers e clique em Visual Basic.

Etapa 2: Abra um módulo na opção de menu Inserir, como mostrado abaixo.

Etapa 3: inicie o subprocedimento para começar a trabalhar no exemplo.

Código:

 Sub SelectFile () End Sub 

Etapa 4: Declare uma variável como Filedialog, como mostrado abaixo.

Código:

 Sub SelectFile () Arquivo Dim como FileDialog End Sub 

Etapa 5: Agora, vamos usar esse objeto do método Application.Filedialog da seguinte maneira.

Etapa 6: Depois de abrir o parêntese, podemos ver a opção para quatro tipos de FileDialog, como mostra a imagem abaixo.

Etapa 7: selecione a opção do tipo Filedialog como msoFileDialogFilePicker

Código:

 Sub SelectFile () Arquivo Dim como FileDialog Definir arquivo = Application.FileDialog (msoFileDialogFilePicker) End Sub 

Etapa 8: Agora precisamos criar a caixa de diálogo para este exemplo, vamos usar With Statement da seguinte maneira.

Código:

 Sub SelectFile () Arquivo Dim como FileDialog Definir arquivo = Application.FileDialog (msoFileDialogFilePicker) Com o arquivo End With End End Sub 

Etapa 9: se houver algum filtro, precisamos limpá-los, coloque uma declaração de ponto e escreva-a como mostrado abaixo.

Código:

 Sub SelectFile () Dim File As FileDialog Definir arquivo = Application.FileDialog (msoFileDialogFilePicker) com o arquivo .Filters.Clear End With End Sub 

Etapa 10: agora queremos que o usuário selecione vários arquivos de uma vez ou um único arquivo? Neste exemplo, vamos manter o arquivo único por vez, então use .Allowmultiselect como false.

Código:

 Sub SelectFile () Arquivo Dim como FileDialog Definir arquivo = Application.FileDialog (msoFileDialogFilePicker) Com o arquivo .Filters.Clear .AllowMultiSelect = False End With End Sub 

Etapa 11: Agora, para mostrar a caixa de diálogo, podemos escrever .show para mostrar a caixa de diálogo da seguinte maneira.

Código:

 Sub SelectFile () Arquivo Dim como FileDialog Definir arquivo = Application.FileDialog (msoFileDialogFilePicker) Com o arquivo .Filters.Clear .AllowMultiSelect = False .Show End With End Sub 

Etapa 12: Depois de executar o código acima, podemos ver a caixa de diálogo da seguinte maneira.

Etapa 13: como precisamos exibir o caminho do usuário selecionado, declare outra variável como uma sequência no código.

Código:

 Sub SelectFile () Arquivo Dim como FileDialog Caminho Dim como String Set File = Application.FileDialog (msoFileDialogFilePicker) Com o arquivo .Filters.Clear .AllowMultiSelect = False .Show End With End Sub 

Etapa 14: Usaremos uma instrução selecteditems para encontrar o caminho do usuário do arquivo selecionado e armazená-lo em nossa variável da seguinte maneira.

Código:

 Sub SelectFile () Arquivo Dim como FileDialog Caminho Dim como String Set File = Application.FileDialog (msoFileDialogFilePicker) Com o arquivo .Filters.Clear .AllowMultiSelect = False .Show Path = .SelectedItems (1) End With End Sub 

Etapa 15: Após a instrução With, use a função msgbox para exibir o endereço do arquivo selecionado.

Código:

 Sub SelectFile () Arquivo Dim como FileDialog Caminho Dim como String Set File = Application.FileDialog (msoFileDialogFilePicker) Com o arquivo .Filters.Clear .AllowMultiSelect = False .Show Path = .SelectedItems (1) End With MsgBox Path End Sub 

Etapa 16: Vamos executar o código acima, selecionar um arquivo e pressionar ok para ver o caminho da seguinte maneira.

Discagem de arquivo VBA do Excel - Exemplo # 2

Agora vamos ver outra opção do objeto VBA FileDialog que é msoFileDialogSaveAs. Esta propriedade é usada para salvar um arquivo em qualquer caminho. Siga as etapas abaixo para usar o Excel VBA FileDialog.

Etapa 1: No mesmo módulo, vamos escrever outro sub-procedimento para salvar o arquivo da seguinte maneira.

Código:

 Sub SaveFile () End Sub 

Etapa 2: Agora declare duas variáveis ​​uma como string e outra como um número inteiro.

Código:

 Sub SaveFile () Dim escolha como inteiro, caminho como string End Sub 

Etapa 3: Agora, deixe a caixa de diálogo visível para o usuário usando a propriedade show da seguinte maneira.

Código:

 Sub SaveFile () Dim escolha como inteiro, caminho como string Choice = Application.FileDialog (msoFileDialogSaveAs) .Show End Sub 

Etapa 4: Agora use a instrução SE para determinar a escolha do usuário da seguinte maneira.

Código:

 Sub SaveFile () Dim Choice como número inteiro, caminho como String Choice = Application.FileDialog (msoFileDialogSaveAs) .Show If Choice 0 Then End Sub 

Etapa 5: Agora, vamos obter o caminho selecionado pelo usuário em nossa variável de caminho da seguinte maneira.

Código:

 Sub SaveFile () Dim Choice como inteiro, caminho como string Choice = Application.FileDialog (msoFileDialogSaveAs) .Show If Choice 0 Then Path = Application.FileDialog (msoFileDialogSaveAs) .SelectedItems (1) End Sub 

Etapa 6: Agora vamos exibir o resultado usando a função msgbox e encerrar o loop IF.

Código:

 Sub SaveFile () Dim Choice como inteiro, caminho como string Choice = Application.FileDialog (msoFileDialogSaveAs) .Show If Choice 0 Then Path = Application.FileDialog (msoFileDialogSaveAs) .SelectedItems (1) MsgBox Path End End End End End Sub 

Etapa 7: Agora execute o código acima e veja o resultado, ele abre uma caixa de diálogo para salvar o arquivo.

Etapa 8: forneça um nome de arquivo e pressione Salvar, o caminho para o arquivo será o seguinte.

Coisas para lembrar

  • FileDialog é uma propriedade de objeto do VBA.
  • Não precisamos especificar o caminho para o código usando este objeto.
  • Usando o operador de ponto, podemos ver e usar as propriedades IntelliSense do objeto.

Artigos recomendados

Este é um guia para o VBA FileDialog. Aqui discutimos como usar o objeto FileDialog no Excel usando o código VBA, juntamente com alguns exemplos práticos e o modelo do Excel para download. Você também pode consultar nossos outros artigos sugeridos -

  1. O arquivo de verificação do VBA existe
  2. Resolver equação no Excel
  3. Excluir arquivo VBA
  4. Como imprimir etiquetas do Excel?
  5. Exemplos para escrever código VBA

Categoria: