唯一新FileSystemObject
VBAデフォルトの関数や機能があるけど、結構汚くて使いたくない。
処理性能重視のクリティカルでない処理でなければ、FileSystemObjectを使うのが身のため。
(参考にさせていただきました)
Office TANAKA - Excel VBA FileSystemObject[目次]
相対パス → 絶対パス変換(realpath)
Const relateivePath = "some"
Dim FSO As Object
Dim absPath As String
Set FSO = CreateObject("Scripting.FileSystemObject")
absPath = FSO.GetAbsolutePathName(relativePath)
Set FSO = Nothing
ディレクトリ存在確認
Set FSO = CreateObject("Scripting.FileSystemObject") Target = "C:\Work\Sample.txt" isDirectory = FSO.FolderExists(Target)
よくDir()使えってあるけどこれすげー汚い関数。(はやいんだけどねー)
呼び出し元で使ってたファイル逐次読み出しがぶっこわれるので、そこそこの規模のアプリでは使いたくない。
Dim dirResult As String, path AsString
path = "c:\"
dirResult = Dir(path, vbDirectory)
isDirectory = (result <> "")
(2016/07/13 記事のタイトル変えてファイル操作まとめにしました。)