【VBA】FilesystemObjectのコードスニペット一覧

VBA

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でのファイル操作が非常に簡単になります。ここで紹介したコードスニペットを参考に、様々な操作を試してみてください!

コメント

タイトルとURLをコピーしました