Função pouco comum, mas em sistemas em VBA tem se tornado cada vez mais trivial a necessidade de abrir ou referenciar um arquivo.
A função abaixo (OpenFileDialog) abre uma caixa de diálogo para seleção de um arquivo e retorna o caminho deste juntamente com o nome do arquivo:
Public Function OpenFileDialog() As String Dim Filter As String, Title As String Dim FilterIndex As Integer Dim Filename As Variant ' Define o filtro de procura dos arquivos Filter = "Arquivos Wave (*.wav),*.wav," ' O filtro padrão é *.* FilterIndex = 3 ' Define o Título (Caption) da Tela Title = "Selecione um arquivo" ' Define o disco de procura ChDrive ("C") ChDir ("C:\") With Application ' Abre a caixa de diálogo para seleção do arquivo com os parâmetros Filename = .GetOpenFilename(Filter, FilterIndex, Title) ' Reseta o Path ChDrive (Left(.DefaultFilePath, 1)) ChDir (.DefaultFilePath) End With ' Abandona ao Cancelar If Filename = False Then MsgBox "Nenhum arquivo foi selecionado." Exit Function End If ' Retorna o caminho do arquivo OpenFileDialog = Filename End Function |
Mais detalhes:
- Utiliza-se o método GetOpenFilename para chamar a caixa de diálogo
- Define-se o filtro de seleção de arquivos para o tipo “Wave Files (*.wav),*.wav,”, mas poderia ser qualquer outro (txt, xls, doc, etc)
- Pode-se definir um drive padrão de busca do arquivo
Bom proveito!
Referências: