ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   FileDialog mso folder Picker (https://www.excelbanter.com/excel-programming/421266-filedialog-mso-folder-picker.html)

CmK

FileDialog mso folder Picker
 
Hi

I have tried looking everywhere no one seem to have an answer
is there a File Dialog box
that allows people to pick folders only but still shows the files iinside
the folder


Thanks in Advance


JLGWhiz

FileDialog mso folder Picker
 
You can use the next level icon in this dialog box to move up to the folder
level, although it comes up at the file level.

Sub fndFle()
Application.Dialogs(xlDialogFindFile).Show
End Sub

"CmK" wrote:

Hi

I have tried looking everywhere no one seem to have an answer
is there a File Dialog box
that allows people to pick folders only but still shows the files iinside
the folder


Thanks in Advance


Per Jessen[_2_]

FileDialog mso folder Picker
 
Hi

Maybe Application.GetOpenFilename ?

Regards,
Per

On 13 Dec., 04:04, CmK wrote:
Hi

I have tried looking everywhere no one seem to have an answer
is there a File Dialog box
that allows people to pick folders only but still shows the files iinside
the folder

Thanks in Advance



Jim Cone[_2_]

FileDialog mso folder Picker
 
You can have the user pick a file, but return the folder it is in...
'--
Function GetMeAFolderOnly() As String
Dim fso As Object
Dim msg As String
With Application.FileDialog(msoFileDialogFilePicker)
.InitialFileName = "C:\"
If .Show = -1 Then
msg = .SelectedItems(1)
Else
Exit Function
End If
End With

Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(msg) Then
msg = fso.getparentfoldername(msg)
GetMeAFolderOnly = msg
Else
GetMeAFolderOnly = "Invalid"
End If
Set fso = Nothing
End Function
'--
'Call function...
Sub FolderName()
MsgBox GetMeAFolderOnly
End Sub
--
Jim Cone
Portland, Oregon USA
(thanks in advance is meaningless)


"CmK"
wrote in message
Hi
I have tried looking everywhere no one seem to have an answer
is there a File Dialog box
that allows people to pick folders only but still shows the files iinside
the folder
Thanks in Advance


CmK

FileDialog mso folder Picker
 
So is the answer no ?it cant be done ?



"Jim Cone" wrote:

You can have the user pick a file, but return the folder it is in...
'--
Function GetMeAFolderOnly() As String
Dim fso As Object
Dim msg As String
With Application.FileDialog(msoFileDialogFilePicker)
.InitialFileName = "C:\"
If .Show = -1 Then
msg = .SelectedItems(1)
Else
Exit Function
End If
End With

Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(msg) Then
msg = fso.getparentfoldername(msg)
GetMeAFolderOnly = msg
Else
GetMeAFolderOnly = "Invalid"
End If
Set fso = Nothing
End Function
'--
'Call function...
Sub FolderName()
MsgBox GetMeAFolderOnly
End Sub
--
Jim Cone
Portland, Oregon USA
(thanks in advance is meaningless)


"CmK"
wrote in message
Hi
I have tried looking everywhere no one seem to have an answer
is there a File Dialog box
that allows people to pick folders only but still shows the files iinside
the folder
Thanks in Advance



Jim Cone[_2_]

FileDialog mso folder Picker
 
It can be done, but you are marching to a different drummer...

Sub ListenToMe()
MsgBox Get_Directory("Select a Folder"), , "Did You Hear the Drummer?"
End Sub
--

Function Get_Directory(ByRef strMessage As String) As String
On Error GoTo BadDirections
Dim objFF As Object
Set objFF = CreateObject("Shell.Application").BrowseForFolder _
(0, strMessage, &H4000, "c:\\")
If Not objFF Is Nothing Then
Get_Directory = objFF.items.Item.Path
Else
Get_Directory = vbNullString
End If
Set objFF = Nothing
Exit Function

BadDirections:
Set objFF = Nothing
Get_Directory = "Error Selecting a Folder"
End Function
'--

Jim Cone
Portland, Oregon USA




"CmK"
wrote in message
So is the answer no ?it cant be done ?



"Jim Cone" wrote:
You can have the user pick a file, but return the folder it is in...
'--
Function GetMeAFolderOnly() As String
Dim fso As Object
Dim msg As String
With Application.FileDialog(msoFileDialogFilePicker)
.InitialFileName = "C:\"
If .Show = -1 Then
msg = .SelectedItems(1)
Else
Exit Function
End If
End With

Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(msg) Then
msg = fso.getparentfoldername(msg)
GetMeAFolderOnly = msg
Else
GetMeAFolderOnly = "Invalid"
End If
Set fso = Nothing
End Function
'--
'Call function...
Sub FolderName()
MsgBox GetMeAFolderOnly
End Sub
--
Jim Cone
Portland, Oregon USA
(thanks in advance is meaningless)




"CmK"
wrote in message
Hi
I have tried looking everywhere no one seem to have an answer
is there a File Dialog box
that allows people to pick folders only but still shows the files iinside
the folder
Thanks in Advance


CmK

FileDialog mso folder Picker
 

Thanks its works great now I have to figure how you did it

Thanks again


"Jim Cone" wrote:

It can be done, but you are marching to a different drummer...

Sub ListenToMe()
MsgBox Get_Directory("Select a Folder"), , "Did You Hear the Drummer?"
End Sub
--

Function Get_Directory(ByRef strMessage As String) As String
On Error GoTo BadDirections
Dim objFF As Object
Set objFF = CreateObject("Shell.Application").BrowseForFolder _
(0, strMessage, &H4000, "c:\\")
If Not objFF Is Nothing Then
Get_Directory = objFF.items.Item.Path
Else
Get_Directory = vbNullString
End If
Set objFF = Nothing
Exit Function

BadDirections:
Set objFF = Nothing
Get_Directory = "Error Selecting a Folder"
End Function
'--

Jim Cone
Portland, Oregon USA




"CmK"
wrote in message
So is the answer no ?it cant be done ?



"Jim Cone" wrote:
You can have the user pick a file, but return the folder it is in...
'--
Function GetMeAFolderOnly() As String
Dim fso As Object
Dim msg As String
With Application.FileDialog(msoFileDialogFilePicker)
.InitialFileName = "C:\"
If .Show = -1 Then
msg = .SelectedItems(1)
Else
Exit Function
End If
End With

Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(msg) Then
msg = fso.getparentfoldername(msg)
GetMeAFolderOnly = msg
Else
GetMeAFolderOnly = "Invalid"
End If
Set fso = Nothing
End Function
'--
'Call function...
Sub FolderName()
MsgBox GetMeAFolderOnly
End Sub
--
Jim Cone
Portland, Oregon USA
(thanks in advance is meaningless)




"CmK"
wrote in message
Hi
I have tried looking everywhere no one seem to have an answer
is there a File Dialog box
that allows people to pick folders only but still shows the files iinside
the folder
Thanks in Advance



Jim Cone[_2_]

FileDialog mso folder Picker
 

You are welcome.
( try replacing "c:\\" with "" )
--
Jim Cone
Portland, Oregon USA


"CmK"
wrote in message
Thanks its works great now I have to figure how you did it
Thanks again



"Jim Cone" wrote:
It can be done, but you are marching to a different drummer...

Sub ListenToMe()
MsgBox Get_Directory("Select a Folder"), , "Did You Hear the Drummer?"
End Sub
--

Function Get_Directory(ByRef strMessage As String) As String
On Error GoTo BadDirections
Dim objFF As Object
Set objFF = CreateObject("Shell.Application").BrowseForFolder _
(0, strMessage, &H4000, "c:\\")
If Not objFF Is Nothing Then
Get_Directory = objFF.items.Item.Path
Else
Get_Directory = vbNullString
End If
Set objFF = Nothing
Exit Function

BadDirections:
Set objFF = Nothing
Get_Directory = "Error Selecting a Folder"
End Function
'--

Jim Cone
Portland, Oregon USA




"CmK"
wrote in message
So is the answer no ?it cant be done ?



"Jim Cone" wrote:
You can have the user pick a file, but return the folder it is in...
'--
Function GetMeAFolderOnly() As String
Dim fso As Object
Dim msg As String
With Application.FileDialog(msoFileDialogFilePicker)
.InitialFileName = "C:\"
If .Show = -1 Then
msg = .SelectedItems(1)
Else
Exit Function
End If
End With

Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(msg) Then
msg = fso.getparentfoldername(msg)
GetMeAFolderOnly = msg
Else
GetMeAFolderOnly = "Invalid"
End If
Set fso = Nothing
End Function
'--
'Call function...
Sub FolderName()
MsgBox GetMeAFolderOnly
End Sub
--
Jim Cone
Portland, Oregon USA
(thanks in advance is meaningless)




"CmK"
wrote in message
Hi
I have tried looking everywhere no one seem to have an answer
is there a File Dialog box
that allows people to pick folders only but still shows the files iinside
the folder
Thanks in Advance


CmK

FileDialog mso folder Picker
 

Doesn't it just default to Desktop?

"Jim Cone" wrote:


You are welcome.
( try replacing "c:\\" with "" )
--
Jim Cone
Portland, Oregon USA


"CmK"
wrote in message
Thanks its works great now I have to figure how you did it
Thanks again



"Jim Cone" wrote:
It can be done, but you are marching to a different drummer...

Sub ListenToMe()
MsgBox Get_Directory("Select a Folder"), , "Did You Hear the Drummer?"
End Sub
--

Function Get_Directory(ByRef strMessage As String) As String
On Error GoTo BadDirections
Dim objFF As Object
Set objFF = CreateObject("Shell.Application").BrowseForFolder _
(0, strMessage, &H4000, "c:\\")
If Not objFF Is Nothing Then
Get_Directory = objFF.items.Item.Path
Else
Get_Directory = vbNullString
End If
Set objFF = Nothing
Exit Function

BadDirections:
Set objFF = Nothing
Get_Directory = "Error Selecting a Folder"
End Function
'--

Jim Cone
Portland, Oregon USA




"CmK"
wrote in message
So is the answer no ?it cant be done ?



"Jim Cone" wrote:
You can have the user pick a file, but return the folder it is in...
'--
Function GetMeAFolderOnly() As String
Dim fso As Object
Dim msg As String
With Application.FileDialog(msoFileDialogFilePicker)
.InitialFileName = "C:\"
If .Show = -1 Then
msg = .SelectedItems(1)
Else
Exit Function
End If
End With

Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(msg) Then
msg = fso.getparentfoldername(msg)
GetMeAFolderOnly = msg
Else
GetMeAFolderOnly = "Invalid"
End If
Set fso = Nothing
End Function
'--
'Call function...
Sub FolderName()
MsgBox GetMeAFolderOnly
End Sub
--
Jim Cone
Portland, Oregon USA
(thanks in advance is meaningless)




"CmK"
wrote in message
Hi
I have tried looking everywhere no one seem to have an answer
is there a File Dialog box
that allows people to pick folders only but still shows the files iinside
the folder
Thanks in Advance



Jim Cone[_2_]

FileDialog mso folder Picker
 

Yes, that what my tests show for an invalid drive designation.
However, c: or c:\ on my system will display that drive.



"CmK"
wrote in message
Doesn't it just default to Desktop?




"Jim Cone" wrote:
You are welcome.
( try replacing "c:\\" with "" )
--
Jim Cone
Portland, Oregon USA



CmK

FileDialog mso folder Picker
 
HI

Isn't desktop a normal folder why the object return error when i select it

"Jim Cone" wrote:


Yes, that what my tests show for an invalid drive designation.
However, c: or c:\ on my system will display that drive.



"CmK"
wrote in message
Doesn't it just default to Desktop?




"Jim Cone" wrote:
You are welcome.
( try replacing "c:\\" with "" )
--
Jim Cone
Portland, Oregon USA




Jim Cone[_2_]

FileDialog mso folder Picker
 

The display and what is returned differs with the
settings and the Windows operating system.
It marches to a different drummer. <g
--
Jim Cone
Portland, Oregon USA


"CmK"
wrote in message
HI
Isn't desktop a normal folder why the object return error when i select it



"Jim Cone" wrote:
Yes, that what my tests show for an invalid drive designation.
However, c: or c:\ on my system will display that drive.



"CmK"
wrote in message
Doesn't it just default to Desktop?




"Jim Cone" wrote:
You are welcome.
( try replacing "c:\\" with "" )
--
Jim Cone
Portland, Oregon USA





All times are GMT +1. The time now is 02:20 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com