Arquivo da tag: GetOpenFilename

VBA – Caixa de Diálogo para Abrir arquivo (OpenFileDialog)

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:

http://www.tek-tips.com