24.08.2020 Views

Programando o Excel ® Vba Para Leigos - 2ª Ed 2013 NoDRM (1)

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

248 Parte IV: Como se Comunicar com Seus Usuários

A Figura 15-8 mostra o resultado ao rodar este procedimento. A caixa

de mensagem exibe os nomes de arquivo que foram selecionados:

Figura 15-8:

Selecione

múltiplos

nomes de

arquivos

usando o

método

GetOpenFilename.

Observe que usei um argumento nomeado para o método GetOpenFilename.

Também, configurei o argumento MultiSelect (Seleção múltipla)

para True. Os outros argumentos são omitidos, portanto eles tomam

seus valores padrão. Usar argumentos nomeados elimina a necessidade

de especificar argumentos que não são usados.

APAPO DE ESPECIALIST

A variável FileNames é definida como um tipo de dados Variant. Eu uso

a função IsArray para determinar se FileName contém um array. Se

assim for, o código usa as funções Lbound e UBound do VBA para determinar

os limites mais baixos e mais altos do array e monta uma mensagem

que consiste de cada elemento de array. Se a variável FileNames

não for um array, significa que o usuário clicou no botão Cancelar (a

variável FileNames contém um array, mesmo que apenas um arquivo

seja selecionado).

O Método GetSaveAsFileName

O método GetSaveAsFilename do Excel funciona exatamente como o

método GetOpenFilename, mas ele exibe a caixa de diálogo Salvar

Como do Excel, ao invés de sua caixa de diálogo Abrir. O método

GetSaveAsFilename obtém um caminho e nome de arquivo do usuário,

mas não faz nada com isso. É você que escreve o código que, de fato,

salva o arquivo.

A sintaxe para esse método é apresentada a seguir:

object.GetSaveAsFilename ([InitialFilename], [FileFilter],

[FilterIndex], [title], [ButtonText])

O método GetSaveAsFilename toma os argumentos da Tabela 15-6,

todos os quais são opcionais.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!