Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Directory browser
Hi, Does anyone know a directory selector control? (browsing fo directories without having to select a specific file) Thanks, Ana -- Ana ----------------------------------------------------------------------- Anat's Profile: http://www.excelforum.com/member.php...fo&userid=1670 View this thread: http://www.excelforum.com/showthread.php?threadid=31914 |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Directory browser
Anat,
Here is one way. I believe that XL2002 has a browse dialog. I don't use 2002 myself, so you may need to play with this, but this is basically it With Application.FileDialog(msoFileDialogFolderPicker) .Show MsgBox .SelectedItems(1) End With Look up FileDialog in the VBA help The pre XL2002 way is Private Declare Function SHGetPathFromIDList Lib "shell32.dll" _ Alias "SHGetPathFromIDListA" _ (ByVal pidl As Long, _ ByVal pszPath As String) As Long Private Declare Function SHBrowseForFolder Lib "shell32.dll" _ Alias "SHBrowseForFolderA" _ (lpBrowseInfo As BROWSEINFO) As Long Private Type BROWSEINFO hOwner As Long pidlRoot As Long pszDisplayName As String lpszTitle As String ulFlags As Long lpfn As Long lParam As Long iImage As Long End Type '------------------------------------------------------------- Function GetFolder(Optional ByVal Name As String = _ "Select a folder.") As String '------------------------------------------------------------- Dim bInfo As BROWSEINFO Dim path As String Dim oDialog As Long bInfo.pidlRoot = 0& 'Root folder = Desktop bInfo.lpszTitle = Name bInfo.ulFlags = &H1 'Type of directory to Return oDialog = SHBrowseForFolder(bInfo) 'display the dialog 'Parse the result path = Space$(512) GetFolder = "" If SHGetPathFromIDList(ByVal oDialog, ByVal path) Then GetFolder = Left(path, InStr(path, Chr$(0)) - 1) End If End Function -- HTH RP (remove nothere from the email address if mailing direct) "Anat" wrote in message ... Hi, Does anyone know a directory selector control? (browsing for directories without having to select a specific file) Thanks, Anat -- Anat ------------------------------------------------------------------------ Anat's Profile: http://www.excelforum.com/member.php...o&userid=16706 View this thread: http://www.excelforum.com/showthread...hreadid=319142 |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Directory browser
Hi Anat
Windows has one built in that you can use (if you use Windows that is). Se Jim Rech's file BrowseForFolder.zip at http://www.bmsltd.ie/MVP/Default.htm HTH. Best wishes Harald "Anat" skrev i melding ... Hi, Does anyone know a directory selector control? (browsing for directories without having to select a specific file) Thanks, Anat -- Anat ------------------------------------------------------------------------ Anat's Profile: http://www.excelforum.com/member.php...o&userid=16706 View this thread: http://www.excelforum.com/showthread...hreadid=319142 |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Directory browser
Bob,
I run XL2003 and the code you supplied (FileDialog) runs fine. Just so you know. Cheers -- Rob van Gelder - http://www.vangelder.co.nz/excel "Bob Phillips" wrote in message ... Anat, Here is one way. I believe that XL2002 has a browse dialog. I don't use 2002 myself, so you may need to play with this, but this is basically it With Application.FileDialog(msoFileDialogFolderPicker) .Show MsgBox .SelectedItems(1) End With Look up FileDialog in the VBA help The pre XL2002 way is Private Declare Function SHGetPathFromIDList Lib "shell32.dll" _ Alias "SHGetPathFromIDListA" _ (ByVal pidl As Long, _ ByVal pszPath As String) As Long Private Declare Function SHBrowseForFolder Lib "shell32.dll" _ Alias "SHBrowseForFolderA" _ (lpBrowseInfo As BROWSEINFO) As Long Private Type BROWSEINFO hOwner As Long pidlRoot As Long pszDisplayName As String lpszTitle As String ulFlags As Long lpfn As Long lParam As Long iImage As Long End Type '------------------------------------------------------------- Function GetFolder(Optional ByVal Name As String = _ "Select a folder.") As String '------------------------------------------------------------- Dim bInfo As BROWSEINFO Dim path As String Dim oDialog As Long bInfo.pidlRoot = 0& 'Root folder = Desktop bInfo.lpszTitle = Name bInfo.ulFlags = &H1 'Type of directory to Return oDialog = SHBrowseForFolder(bInfo) 'display the dialog 'Parse the result path = Space$(512) GetFolder = "" If SHGetPathFromIDList(ByVal oDialog, ByVal path) Then GetFolder = Left(path, InStr(path, Chr$(0)) - 1) End If End Function -- HTH RP (remove nothere from the email address if mailing direct) "Anat" wrote in message ... Hi, Does anyone know a directory selector control? (browsing for directories without having to select a specific file) Thanks, Anat -- Anat ------------------------------------------------------------------------ Anat's Profile: http://www.excelforum.com/member.php...o&userid=16706 View this thread: http://www.excelforum.com/showthread...hreadid=319142 |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
Directory browser
Rob,
I assumed that if it ran on 2002 it would run on 2003 :-) Bob "Rob van Gelder" wrote in message ... Bob, I run XL2003 and the code you supplied (FileDialog) runs fine. Just so you know. Cheers -- Rob van Gelder - http://www.vangelder.co.nz/excel "Bob Phillips" wrote in message ... Anat, Here is one way. I believe that XL2002 has a browse dialog. I don't use 2002 myself, so you may need to play with this, but this is basically it With Application.FileDialog(msoFileDialogFolderPicker) .Show MsgBox .SelectedItems(1) End With Look up FileDialog in the VBA help The pre XL2002 way is Private Declare Function SHGetPathFromIDList Lib "shell32.dll" _ Alias "SHGetPathFromIDListA" _ (ByVal pidl As Long, _ ByVal pszPath As String) As Long Private Declare Function SHBrowseForFolder Lib "shell32.dll" _ Alias "SHBrowseForFolderA" _ (lpBrowseInfo As BROWSEINFO) As Long Private Type BROWSEINFO hOwner As Long pidlRoot As Long pszDisplayName As String lpszTitle As String ulFlags As Long lpfn As Long lParam As Long iImage As Long End Type '------------------------------------------------------------- Function GetFolder(Optional ByVal Name As String = _ "Select a folder.") As String '------------------------------------------------------------- Dim bInfo As BROWSEINFO Dim path As String Dim oDialog As Long bInfo.pidlRoot = 0& 'Root folder = Desktop bInfo.lpszTitle = Name bInfo.ulFlags = &H1 'Type of directory to Return oDialog = SHBrowseForFolder(bInfo) 'display the dialog 'Parse the result path = Space$(512) GetFolder = "" If SHGetPathFromIDList(ByVal oDialog, ByVal path) Then GetFolder = Left(path, InStr(path, Chr$(0)) - 1) End If End Function -- HTH RP (remove nothere from the email address if mailing direct) "Anat" wrote in message ... Hi, Does anyone know a directory selector control? (browsing for directories without having to select a specific file) Thanks, Anat -- Anat ------------------------------------------------------------------------ Anat's Profile: http://www.excelforum.com/member.php...o&userid=16706 View this thread: http://www.excelforum.com/showthread...hreadid=319142 |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
what is a web browser | Excel Discussion (Misc queries) | |||
Netscape Browser | Excel Discussion (Misc queries) | |||
BROWSER | Excel Programming | |||
Directory browser in Excel VB | Excel Programming | |||
Check if directory empty OR no of files in directory. | Excel Programming |