how can I copy file names into cells

  • Thread starter Thread starter SAM SEBAIHI
  • Start date Start date
S

SAM SEBAIHI

I would like to have a macro that if I execute it, it will copy all the
existing file names from a specified directory into individual cells in the
sheet. each individual file name will be hyperlinked, if I click on it, the
file should open (they could be Word or pdf files..etc..)

I really appreciate your help in advance

Thank you,
 
One way:

Public Sub CreateHyperlinkDirectory()
Const sPATH = "<your path here>"
Dim sFileName As String
Dim rDest As Range
sFileName = Dir(sPATH)
With Worksheets.Add(Before:=Sheets(1))
On Error Resume Next
.Name = "Directory"
On Error GoTo 0
Set rDest = .Range("A1")
Do While sFileName <> vbNullString
.Hyperlinks.Add _
Anchor:=rDest, _
Address:=sPATH & sFileName, _
TextToDisplay:=sFileName
Set rDest = rDest.Offset(1, 0)
sFileName = Dir
Loop
End With
End Sub
 
And another possible way, just change the "A2" to the first cell you want to
receive the filename and hyperlink:

Sub ListAndLinkToFiles()
'User definable values
Const FirstCell = "A2" ' first cell to get file name/link
'end of user definable values

Dim anyFileName As String ' internal use variable
Dim myFolderPath As String ' internal use variable
Dim rowOffset As Long ' pointer to next cell to put entry into

Application.FileDialog(msoFileDialogFolderPicker).Show
On Error Resume Next
myFolderPath = _
Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1) _
& Application.PathSeparator
If Err <> 0 Then
Err.Clear
Exit Sub ' user cancelled
End If
On Error GoTo 0
'because Excel 2007 removed the FileSearch object,
'we'll do this the old fashioned way
'initialize anyFileName
anyFileName = Dir(myFolderPath & "*.*", vbNormal)
Do While anyFileName <> "" ' Start the loop.
ActiveSheet.Range(FirstCell).Offset(rowOffset, 0).Formula = _
"=HYPERLINK(" & Chr(34) & myFolderPath & anyFileName & Chr(34) _
& "," & Chr(34) & anyFileName & Chr(34) & ")"
anyFileName = Dir ' Get next entry.
rowOffset = rowOffset + 1
Loop
End Sub
 
Thnk you so much Jlatham, JE and JAY. You were all great! You are all really
making a difference.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top