ファイル操作について説明していきます。
サンプルソースを試すときはエクセルにツール→参照でFileSystemObject Runtimeにチェックを入れておいてください。
目次
ファイル名変更
ファイル削除
ファイルコピー
フォルダ作成
フォルダ削除
ファイル名変更
Name 変更前ファイル名 As 変更後ファイル名
サンプルソース
Dim file As New Scripting.FileSystemObject
Dim Sfile As Scripting.file
Dim filename As Variant
filename = Application.GetOpenFilename()
If filename = False Then Exit Sub
Set Sfile = file.GetFile(filename)
Range(“A3”).Value = Sfile.Name
Name Sfile.Name As Cells(3, 3)
End Sub
実行結果は選択したファイル名がCells(3, 3)で指定した名前に変更されます。
注意事項:文法にある変更前ファイル名や変更後ファイル名は変数かオブジェクトで指定してください。
たとえばa.txtとそのまま書けません。
× Name a.txt As b.txt
ファイルのコピー
FileCopy 変更前ファイル名,変更後ファイル名
サンプルソース
Dim file As New Scripting.FileSystemObject
Dim Sfile As Scripting.file
Dim filename As Variant
filename = Application.GetOpenFilename()
If filename = False Then Exit Sub
Set Sfile = file.GetFile(filename)
Range(“A3”).Value = Sfile.Name
FileCopy Sfile.Name,Cells(2, 2)
End Sub
実行結果は選択したファイル名がCells(2, 2)になります。
エラー処理はいれておりません。
ファイルを削除
Kill 削除ファイル
サンプルソース
Dim file As New Scripting.FileSystemObject
Dim Sfile As Scripting.file
Dim filename As Variant
filename = Application.GetOpenFilename()
If filename = False Then Exit Sub
Set Sfile = file.GetFile(filename)
Range(“A3”).Value = Sfile.Name
Kill Sfile.Name
End Sub
実行結果は選択したファイルが削除されます。
フォルダを削除
MkDir フォルダを作成
サンプルソース
Dim file As New Scripting.FileSystemObject
Dim Sfile As Scripting.file
Dim filename As Variant
filename = Application.GetOpenFilename()
If filename = False Then Exit Sub
Set Sfile = file.GetFile(filename)
Range(“A3”).Value = Sfile.Name
MkDir Sfile.Name
End Sub
実行結果は選択したフォルダが作成されます。
フォルダを削除
RmDir 削除フォルダ
サンプルソース
Dim file As New Scripting.FileSystemObject
Dim Sfile As Scripting.file
Dim filename As Variant
filename = Application.GetOpenFilename()
If filename = False Then Exit Sub
Set Sfile = file.GetFile(filename)
Range(“A3”).Value = Sfile.Name
RmDir Sfile.Name
End Sub