ファイルパス操作
EXCEL VBAでのファイルパス操作で、よく使うものチートシート。
使用環境
・Windows11
・EXCEL 2019
ブックファイルパス取得
Dim path As String
path = ThisWorkbook.path
VBA取得出来るのはブックの所在のパスであって、ファイル名は含まれないので注意。
新規ブック(未保存)の場合は空文字が取得される。
ブックファイル名取得
Dim fileName As String
fileName = ThisWorkbook.name
VBA新規ブック(未保存)の場合はブック名が取得される。
デスクトップパス取得
Dim wss As Object
Set wss = CreateObject("WScript.Shell")
Dim path As String
path = wss.SpecialFolders("Desktop")
VBATempフォルダパス取得
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim path As String
path = fso.GetSpecialFolder(2)
VBAパスからファイル名取得
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
' 「sample3.txt」を取得
Dim fileName As String
fileName = fso.GetFileName("C:\sample1\sample2\sample3.txt")
VBAファイル名から拡張子取得
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim extension As String
extension = fso.GetExtensionName("sample.txt")
VBAファイル名から拡張子以外を取得
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim baseName As String
baseName = fso.GetBaseName("sample.txt")
VBAファイルパスからフォルダパス取得
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
' 「C:\sample1\sample2」を取得
Dim path As String
path = fso.GetParentFolderName("C:\sample1\sample2\sample3.txt")
VBAフォルダパスの親フォルダパス取得
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
' 「C:\sample1」を取得
Dim path As String
path = fso.GetParentFolderName("C:\sample1\sample2")
VBA