ファイルパスから下層フォルダを先頭に番号(インデックス)で取出し

<分類:値取得>
<使用例:ファイルパスから下層フォルダを先頭に番号(インデックス)で取出し>
<プログラム例>

Sub 使用例()
   Dim s As String
   Dim s2 As String
   Dim n As String
   
   
  'フルパス
  '例 1階層上のフォルダ名はDesktop
  '例 2階層上のフォルダ名はaaa
  '例 3階層上のフォルダ名はUsers

   s = "C:\Users\aaa\Desktop\test.xls"
  '何階層上?
   n = 3

   s2 = 共通_ファイルパスから下層フォルダを先頭に番号で取出し(s, n)

   MsgBox ("ファイル名の存在する " & n & " つ上の階層のフォルダ名は " & s2 & " です")

End Sub

Function 共通_ファイルパスから下層フォルダを先頭に番号で取出し(p1, p2)

   Dim i As Long
   Dim j As Long
   Dim x As Long
   Dim cnt As Long
   
   Dim mojisu As Long
   
   For i = 1 To p2 + 1
   
      共通_ファイルパスから下層フォルダを先頭に番号で取出し = ""
      mojisu = Len(p1)
     
      For j = mojisu To 1 Step -1
          If Mid(p1, j, 1) = "\" Then
             共通_ファイルパスから下層フォルダを先頭に番号で取出し = Mid(p1, j + 1, mojisu - 1)
             p1 = Mid(p1, 1, j - 1)
             Exit For
          End If
      Next j
      
   Next i

End Function