Muitas vezes existe a necessidade de o usuário selecionar alguma pasta (e não um arquivo) para realizar alguma operação nas aplicações desenvolvidas em VBA.
Esta operação é possível de ser realizada com o application.GetOpenFileName, porém é necessário um tratamento posterior para que se obtenha somente o diretório.
Esta função exibe a seguinte caixa de diálogo, onde é possível selecionar somente os diretórios e não os arquivos.
Function GetDir(Optional TextToTitle As String = "Select folder...")
'http://officevb.com
Dim objFld As Object, objShl As Object
Set objShl = CreateObject("Shell.Application")
Set objFld = objShl.BrowseForFolder(0, TextToTitle, 0)
If Not objShl Is Nothing Then
GetDir = objFld.self.Path
End If
Set objShl = Nothing
Set objFld = Nothing
End Function
Sub TestGetDir()
'Testando a rotina GetDir
MsgBox "A pasta selecionada foi:" & GetDir("Selecione uma pasta"), vbInformation
End Sub
A rotina é em simples, e garante uma aparência mais profissional ao seu projeto.
Em breve mais novidades por aqui!
Até mais...
10:27
Bruno Leite


0 comentários:
Postar um comentário