View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
Steve Mackay Steve Mackay is offline
external usenet poster
 
Posts: 18
Default hyperlinks to files in all sub-directories

Thanks, Jim. I think I found the answer to my own question in another
posting. If any one is interested, here is the code. I don't like
that it displays the whole directory tree, I would like to just display
the filename. Not sure how to change that, but I can use a formula to
extract just the name. Thanks to whomever posted this:

Option Explicit


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


Dim FSO As Object
Dim cnt As Long
Dim level As Long
Dim arFiles


Sub ListFiles()
Dim i As Long
Dim sFolder As String
Application.Calculation = xlCalculationManual

Set FSO = CreateObject("Scripting.FileSystemObject")


arFiles = Array()
cnt = -1
level = 1


sFolder = GetFolder()
ReDim arFiles(1, 0)
If sFolder < "" Then
SelectFiles sFolder
Worksheets.Add.Name = "Files"
With ActiveSheet
For i = LBound(arFiles, 2) To UBound(arFiles, 2)
.Hyperlinks.Add Anchor:=.Cells(i + 1, arFiles(1,
0)), _
Address:=arFiles(0, i), _
TextToDisplay:=arFiles(0, i)
Next
End With
End If

Application.Calculation = xlCalculationAutomatic
End Sub

Thanks,
Steve Mackay