基本的なファイル処理を行うためにVBA組み込みのコマンドを使用しますが、問題は、ファイルディレクトリの検出と削除をFunctionとして記述する必要があり、単一のコマンドでは操作できません。使用する前に、これらのFunctionを手動でインポートする必要があります。
もう1つのより簡単な方法はFile System Objectを使用します。このオブジェクトはファイルとディレクトリに関連するFunctionを組み込んでいるため、直接参照できます。
宣言方式
1.
Dim myFSO As Object
Set myFSO = CreateObject("Scripting.FileSystemObject")
2.
Dim fso As FileSystemObject
Set myFSO = CreateObject("Scripting.FileSystemObject")
Dim fld As Folder
Dim fil As File
3.
Dim fso As FileSystemObject
Set fso = New Script.FileSystemObject
FileSystemObject主に3つのオブジェクトがあります。最上部にあるFileSystemObjectと下部のFoldeやFileオブジェクトです。
Folderを取得するには、GetFolderメソッドを実行する必要があります。
Set fld = fso.GetFolder(Cells(2, 1).Value) ' folder string
これより、ディレクトリ内の各ファイルのファイル名、サイズ、および日付の変更にアクセスできます。
For Each pFile In fld.Files
pFile.Name = NameBuf(0) & "." & NewFileName & NameBuf(1)
Next
fld.FilesなどのFile Sysetm ObjectのCollectionは、配列番号でメンバーにアクセスできないことに注意してください。ファイル名を使用する必要があります。
サブディレクトリにアクセスします。
For each subfld in fld.SubFolders
Cells(i,1).Value = subfld.path
Next
ディレクトリが存在するかどうかを確認します。
fso.Folder Exists(fldrname)はBoolean値を返します。Trueは存在を代表し、Falseは存在しないことを代表します。
ファイルが存在するかどうかを確認します。
fso.File Exists(“C:\testfile.txt”)はBoolean値を返します。Trueは存在を代表し、Falseは存在しないことを代表します。
ディレクトリを作成します。
Set fld = fso.CreateFolder("c:\New Folder")
ファイルを作成します。
fsoは現在TextFileしか作成できません。
Set a = fso.CreateTextFile("c:\testfile.txt", True)
a.WriteLine("This is a test.") ' aはTextStreamオブジェクトです。
a.Close
ディレクトリとファイルを取得します。
fso.GetFolder()和fso.GetFile
ディレクトリとファイルを削除します。
fso.DeleteFolder()和fso.DeleteFile
コメントを残す