四十路サラリーマン、強く生きる

日々気になっている、やってみたことメモ

特定フォルダ内のファイル名取得

VBAで動的一次配列を用いて特定フォルダ内のファイル名を取得する記事です。

  • 状況
    同階層の"test"フォルダ内のファイル名を取得し、ファイル名をエクセルシートに出力したい

  • 実施
    Activeworkbookまでのディレクトリ取得
    Dir()関数設定
    While loop構文
    ReDim Preserveによる動的1次元配列宣言

  • シート画像
    f:id:JUNx2:20201219215433j:plain

  • VBA記述

Sub test()  

Dim Folder As String  
Dim buf As String  
Dim Filelist() As String  
Dim n As Integer  
  
Folder = ThisWorkbook.Path & "test"  
buf = Dir(Folder & "/*)  
n = 0  
Do While buf <> ""  
    ReDim Preserve Filelist(n)  
    Filelist(n) = buf  
    Cells(n + 2, 2) = Filelist(n)  
    buf = Dir()  
Loop    
End Sub