フォルダ内のファイル名を取得

<設定>
参照設定 VBAProject
参照可能なライブラリファイルでMicrosoft Scripting Runtimeを設定する。

<プログラムの流れ>
Excelのブック内の入力シートというシートをクリア処理する
入力シートにこのExcelのブックが置かれているフォルダ内のファイル名一覧を作成する
※このExcelのブックのファイル名は除外する。

<プログラム例>

Sub 呼び出し方法()
      Dim p1 As String
      Dim p2 As String

      p1 = "入力シート"
      p2 = 1
      Call 共通_このファイルがあるフォルダ内のほかのファイル名を取得(p1, p2)
End Sub

Sub 共通_このファイルがあるフォルダ内のほかのファイル名を取得(p1, p2)
   'p1:出力結果を貼り付けるシート名
   'p2:出力結果を貼り付けるシートの初期化方法 1:all 2:行(初期化開始行)
   ' 例 3を指定した場合は3行以下を初期化して3行から結果を貼り付ける

    Dim aFso As Scripting.FileSystemObject
    Dim aFiles As Scripting.Files
    Dim aFile As Scripting.File
    Dim i As Long
    Dim han As String
    
    Set aFso = New Scripting.FileSystemObject
    Set aFiles = aFso.GetFolder(ThisWorkbook.Path).Files
    i = p2

    Sheets(p1).Select
    
    If p2 = 1 Then
       Cells.Select
       MsgBox (p1 & "の内容を消去します。by b002nne256cx")
       Selection.ClearContents
       Range("A1").Select
    Else
       han = "A" & p2
       Range(han).Select
       Range(Selection, Selection.End(xlDown)).Select
       MsgBox (p1 & "の内容を" & p2 & "行目から消去します。by b002nne256cx")
       Selection.ClearContents
    End If
    
    For Each aFile In aFiles
       If ThisWorkbook.Name = aFile.Name Then
       Else
          Worksheets(p1).Cells(i, 1) = aFile.Name
          i = i + 1
       End If
    Next

    Set aFiles = Nothing
    Set aFso = Nothing
End Sub