FilesystemObjectとは?
FilesystemObjectは、ファイルやフォルダを操作するためのVBAのライブラリです。このオブジェクトを使用すると、ファイルの読み書きや削除、フォルダの作成やコピーといった操作を簡単に行うことができます。
FilesystemObjectの初期化方法
FilesystemObjectを使用するには、以下のコードを利用してオブジェクトを初期化します。
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
ファイルの存在確認
指定したファイルが存在するかどうかを確認するコードスニペットです。
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists("C:\example\test.txt") Then
MsgBox "ファイルは存在します"
Else
MsgBox "ファイルは存在しません"
End If
フォルダの存在確認
フォルダが存在するかを確認する場合は、以下のコードを使用します。
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FolderExists("C:\example") Then
MsgBox "フォルダは存在します"
Else
MsgBox "フォルダは存在しません"
End If
ファイルの作成
新しいテキストファイルを作成するコードスニペットです。
Dim fso As Object
Dim ts As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.CreateTextFile("C:\example\newfile.txt", True)
ts.WriteLine "このファイルはVBAで作成されました"
ts.Close
フォルダの作成
指定したパスにフォルダを作成します。
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateFolder "C:\example\newfolder"
ファイルの削除
指定したファイルを削除するコードです。
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists("C:\example\deletefile.txt") Then
fso.DeleteFile "C:\example\deletefile.txt"
MsgBox "ファイルを削除しました"
Else
MsgBox "削除対象のファイルが見つかりません"
End If
フォルダの削除
フォルダを削除する場合のコードです。サブフォルダやファイルを含む場合は、第2引数にTrue
を指定します。
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FolderExists("C:\example\deletefolder") Then
fso.DeleteFolder "C:\example\deletefolder", True
MsgBox "フォルダを削除しました"
Else
MsgBox "削除対象のフォルダが見つかりません"
End If
ファイルのコピー
ファイルを別の場所にコピーするコードです。
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CopyFile "C:\example\source.txt", "C:\example\backup\source.txt"
フォルダのコピー
フォルダをコピーする場合のコードです。
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CopyFolder "C:\example\sourcefolder", "C:\example\backupfolder"
ファイルサイズの取得
指定したファイルのサイズを取得するコードスニペットです。
Dim fso As Object
Dim file As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.GetFile("C:\example\test.txt")
MsgBox "ファイルサイズ: " & file.Size & " バイト"
おわりに
FilesystemObjectを活用すれば、VBAでのファイル操作が非常に簡単になります。ここで紹介したコードスニペットを参考に、様々な操作を試してみてください!
コメント