Caro Mauro, dentre os Links postados, o último (abaixo) contem um rotina mais enxuta, e que atendeu as minhas necessidades. Obrigado.
http://www.mrexcel.com/forum/showthread.php?t=62434
Na minha aplicação usei a rotina dentro de uma função, e que adaptada ficou assim :
Function Abre_Pasta()
MsgBox ("Eu vou abrir o Windows Explorer para voce selecionar a pasta onde encontra-se o arquivo!")
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder(0, "Por Favor selecione a Pasta", 0, "C:")
If (Not objFolder Is Nothing) Then
On Error Resume Next
If IsError(objFolder.Items.Item.Path) Then diretorio = CStr(objFolder): GoTo Here
On Error GoTo 0
If Len(objFolder.Items.Item.Path) > 3 Then
diretorio = objFolder.Items.Item.Path & Application.PathSeparator
Else
diretorio = objFolder.Items.Item.Path
End If
Else
MsgBox "Cancelado pelo Usuário !": End
End If
Here:
MsgBox "Voce selecionou a pasta -> " & diretorio, vbInformation, "ObjectFolder:= " & objFolder
Set objFolder = Nothing
Set objShell = Nothing
End Function
Postado : 06/03/2012 11:39 am