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
Conteúdo
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.
Argumento | O que faz |
---|---|
FileFilter | Determina 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. |
FilterIndex | Determina que do arquivo filtra a caixa de diálogo é exibida por padrão. |
Título | Especifica a legenda para a caixa de diálogo&título rsquo-s Barra. |
Botão de texto | Ignorados (usado apenas para a versão para Macintosh do Excel). |
MultiSelect | Se 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.
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.