Como usar o método getopenfilename em excel 2016 vba

Se o seu procedimento VBA precisa perguntar ao usuário um nome de arquivo, você poderia

usar a função InputBox e permitir que o usuário Excel fazer alguma digitação. Uma caixa de entrada geralmente não é a melhor ferramenta para este trabalho, no entanto, porque a maioria dos usuários acham difícil lembrar de caminhos, barras invertidas, nomes de arquivos e extensões de arquivo. Em outras palavras, é muito fácil de parafuso até ao digitar um nome de arquivo.

Para uma melhor solução para este problema, use o método GetOpenFilename do objeto Application, que garante que o seu código obtém suas mãos em um nome de arquivo válido, incluindo seu caminho completo. O método GetOpenFilename exibe a caixa de diálogo Abrir familiarizado (a campainha inoperante para a caixa de diálogo Excel exibe quando você escolher Arquivo → Abrir → Browse).

O método GetOpenFilename na verdade não abrir o arquivo especificado. Este método simplesmente retorna o nome do arquivo selecionado pelo usuário como uma string. Depois, você pode escrever código para fazer o que quiser com o nome do arquivo.

A sintaxe para o método GetOpenFilename

A sintaxe oficial do método GetOpenFilename é a seguinte:

object.GetOpenFilename ([Filefilter], [FilterIndex], [título], [buttonText], [MULTISELECT])

Método GetOpenFilename leva os argumentos opcionais abaixo.

ArgumentoO que faz
FileFilterDetermina os tipos de arquivos que aparecem na caixa de diálogo
(Por exemplo, * TXT). Você pode especificar vários filtros para o usuário
escolher a partir de.
FilterIndexDetermina que do arquivo filtra a caixa de diálogo é exibida por
padrão.
TítuloEspecifica a legenda para a caixa de diálogo&título rsquo-s
Barra.
Botão de textoIgnorados (usado apenas para a versão para Macintosh do Excel).
MultiSelectSe True, o usuário pode selecionar vários arquivos.

Um exemplo GetOpenFilename

O argumento FileFilter determina o que aparece em arquivos de caixa de diálogo de lista drop-down Tipo. Este argumento é constituído por pares de cordas de filtro de arquivo seguido pela especificação de filtro arquivo universal, com vírgulas separando cada parte e par. Se omitido, este argumento padrão para o seguinte:

Video: Lançamento Oficial do Excel PRO 2016 - VBA Para Iniciantes - Aula 0

Todos os arquivos (*.*), *.*

Note-se que esta cadeia é constituída por duas partes, separadas por uma vírgula:


Todos os arquivos (*.*)

e

*. *

A primeira parte desta cadeia é o texto exibido na lista suspensa Arquivos do tipo. A segunda parte determina quais arquivos a caixa de diálogo exibida. Por exemplo, *. * Meios todos os arquivos.

Video: Creating a Multiplication Table by using VBA on Excel 2016 Mac

O código no exemplo a seguir abre uma caixa de diálogo que pergunta ao usuário um nome de arquivo. O procedimento define cinco filtros de arquivo. Observe que a seqüência de continuação de linha VBA é usado para configurar o Filtro Variável fazê-lo ajuda a simplificar este argumento bastante complicado.

Sub GetImportFileName () Dim Finfo Como StringDim FilterIndex Como LongDim Título Como StringDim FileName As Variant ‘Configurar a lista de arquivo filtersFInfo =‘Arquivos de texto (* .txt), *. Txt’ & _ “Arquivos Lotus (* .prn), *. Prn” & _ “Comma Separated Files (* .csv), *. Csv” & _ “ASCII arquivos (* .asc), *. Asc” & _ “Todos os arquivos (*. *) *. *” `Visor *. * Por defaultFilterIndex = 5` Definir a caixa de diálogo captionTitle = ‘Selecione um arquivo para importar’` Obter o filenameFileName = Application.GetOpenFilename (FInfo, _FilterIndex, título)` Handle retornar informações de diálogo boxIf FileName = False ThenMsgBox ‘Nenhum arquivo foi selecionado.’ ElseMsgBox “Seleccionou“ & FileNameEnd IfEnd Sub

Aqui está a caixa de diálogo Excel exibe quando você executar este procedimento. A aparência pode variar, dependendo da versão do Windows que você usa e as opções de exibição que você definiu.

O método GetOpen Matrícula exibe uma caixa de diálogo personalizada e retorna o arquivo selecionado’
O método GetOpen Matrícula exibe uma caixa de diálogo personalizada e retorna caminho eo nome do arquivo selecionado. Ele não abrir o arquivo.

Em um aplicativo real, você faria algo mais significativo com o nome do arquivo. Por exemplo, você pode querer abri-lo usando uma declaração como esta:

Workbooks.Open FileName

Observe que a variável nome do arquivo é declarado como um tipo de dados Variant. Se o usuário clicar em Cancelar, essa variável contém um valor booleano (false). Caso contrário, FileName é uma string. Portanto, usando um tipo de dados Variant lida com ambas as possibilidades.


Publicações relacionadas