■まずは、単純に取得する方法
Sub testGetFileInfo() 'フルパスからファイル名を取得 strFileName = Dir(strTempFilePath) 'フルパスからフォルダパスを取得 strFolderPath = Replace(strTempFilePath, strFileName, "") End Sub
■FileSystemObjectを使用して取得する方法
※FileSystemObjectを事前バインディングする際は参照設定の
「Microsoft Scripting Runtime」にチェックを入れる
Sub testGetFileInfo() Dim objFile As Object Dim TargetPath As String Dim fileName As String Dim FolderPath As String '------------------------------------------------------------------ '遅延バインディングの場合 Dim objFSO As Object Set objFSO = CreateObject("Scripting.FilesystemObject") '------------------------------------------------------------------ '参照設定済の場合 'Dim objFSO As Object '------------------------------------------------------------------ TargetPath = "C:\テスト.xlsx" '拡張子ありのファイル名取得 fileName = objFSO.GetFileName(TargetPath) '変数に対象ファイルを格納 Set objFile = objFSO.GetFile(TargetPath) 'フォルダパス取得 FolderPath = objFile.ParentFolder MsgBox "ファイル名 : " & fileName & vbCrLf & _ "フォルダパス: " & FolderPath End Sub