Sub prcSplitPath()
Dim rngCell As Range ' 各セルをイテレートするための変数
Dim strPath As String ' 入力されたフルパス
Dim fso As FileSystemObject ' ファイルシステムを操作するオブジェクト
Dim fld As Folder ' FileSystemObjectのフォルダオブジェクト
' FileSystemObjectのインスタンスを生成
Set fso = New FileSystemObject
' A列のデータ範囲をループ処理
For Each rngCell In Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)
strPath = rngCell.Value
If strPath <> "" Then
' フォルダオブジェクトを取得
Set fld = fso.GetFolder(strPath)
' 親フォルダのパスをB列にセット
rngCell.Offset(0, 1).Value = fld.ParentFolder.Path & "\"
' フォルダ名をC列にセット
rngCell.Offset(0, 2).Value = fld.Name
End If
Next rngCell
' オブジェクトの解放
Set fld = Nothing
Set fso = Nothing
End Sub
コメント