Mi pregunta ahora es la siguiente; cómo puedo abrir la caja de dialogo donde
solo seleccione un directorio, sin necesidad de seleccionar un archivo ( como
ocurre con la función GetOpenFileName)? Esto es por que requiero que el
usuario desde el documento excel pueda seleccionar una ruta de donde tomará
los archivos necesarios para realizar un proceso (los cuales pueden ser de 0
a n) . He estado investigando, pero no encuentro como! Si no es posible;
alguna idea de cómo pódría hacerlo?
De antemano muchas gracias
> ... como puedo abrir la caja de dialogo donde solo seleccione un directorio, sin necesidad de seleccionar un archivo
> ... requiero que el usuario desde el documento excel pueda seleccionar una ruta de donde tomara los archivos ...
si solo necesitas que el usuario "navegue" para seleccionar algun directorio...
la forma mas sencilla que me puedo imaginar es la siguiente (compatible con versiones previas a 2002):
' en un modulo de codigo normal
Sub ObtenerDirectorio()
Dim Directorio As String, Titulo As String
Titulo = "Selecciona por favor una carpeta"
On Error Resume Next ' por si el usuario pulsa {esc} y no selecciona nada :)) '
With CreateObject("shell.application")
Directorio = .BrowseForFolder(0, Titulo, 0, "c:").Items.Item.Path
End With: On Error GoTo 0
If Directorio = "" Then
MsgBox "No se ha seleccionado ningun directorio.", , "Operacion cancelada !!!"
Else
MsgBox Directorio
End If
End Sub
(tip): si quieres que el (mini)explorador de windows presente el directorio de "mis documentos" del usuario en windows...
deja vacio la ruta de inicio ("c:") en la instruccion: Directorio = .BrowseForFolder(0, Titulo, 0, "").Items.Item.Path
si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.