【Excel・VBA】フォルダ内のファイル名へのリンクの一覧作成

エクセルのシートにフォルダ内のファイル名とファイルへのリンクを書き出す方法です。

目次

ファイル一覧とリンク作成

フォルダ内に保存されているファイルの名前一覧とリンクを作成する方法です。

ファイルと結果の例

フォルダの例

結果

一覧作成方法

事前バイディングによる方法のため、Microsoft Scripting Runtimeへの参照を有効にに設定します。

ファイル名取得方法・FileSystemObject

コード

Sub getFLName1()
 Dim fso As Scripting.FileSystemObject
 Dim f As Scripting.File
 Dim i As Long
 Const fPath As String = "F:¥sample¥"

 Set fso = New Scripting.FileSystemObject
 i = 2

 For Each f In fso.GetFolder(fPath).Files
  ActiveSheet.Hyperlinks.Add _
    anchor:=Cells(i, 1), _
    Address:=fPath & "¥" & fso.GetFileName(f.Name), _
    TextToDisplay:=fso.GetFileName(f.Name)
   i = i + 1
 Next f

 Set f = Nothing
 Set fso = Nothing
End Sub

拡張子内のファイル名と拡張子ありのファイル名リンク

A列に拡張子なしのファイル名、B列にファイル名とリンクを作成する方法です。

コード

Sub getFLName2()

 Dim fso As Scripting.FileSystemObject
 Dim f As Scripting.File
 Dim i As Long
 Const fPath As String = "F:¥sample¥"

 Set fso = New Scripting.FileSystemObject

 i = 2

 For Each f In fso.GetFolder(fPath).Files
  Cells(i, 1).Value = fso.GetBaseName(f.Name)
  ActiveSheet.Hyperlinks.Add _
          anchor:=Cells(i, 2), _
          Address:=fPath & "¥" & fso.GetFileName(f.Name), _
          TextToDisplay:=fso.GetFileName(f.Name)

  i = i + 1
 Next f

 Set f = Nothing
 Set fso = Nothing

End Sub
目次