FSOを使用して指定したファイルの情報を取得・設定する方法 FSOの【GetFile】メソッドを使用 ▼記述例▼ ・Attributes ファイルの属性を取得・設定 他 ・OpenAs TextStream テキストファイルを開く※復習記事作成予定 Folderオブジェクトのメソッドを使用して、ファイル「tamashi.txt」を作成したあと
Fileオブジェクトの取得
書式:
オブジェクト.GetFile("ファイルのパス") Dim FSO As New FIleSystemObject '外部のオブジェクトの参照を格納
Dim FileInfo As File '情報を取得したいファイルを格納するための変数を作成
Set FIleInfo = FSO.GetFile("C:\Users\user\Desktop\tama-shi\tamashi.txt") 'Fileオブジェクトのインスタンスを生成
Fileオブジェクトのプロパティ
・Name ファイルの名前を取得・設定
・Path ファイルのパス
・Drive ファイルが存在しているドライブ名を取得
・Size ファイルのサイズを取得
・Type ファイルの種類を取得
・DateCreated ファイル作成日時
・DateLastAccessed ファイルに最後にアクセスされた日時
・DateLastModified ファイルが最後に更新された日時Fileオブジェクトのメソッド
・Copy ファイルをコピー
・Move ファイルを移動
・Delete ファイルを削除【実践】ファイルの情報を取得・設定する記述例
Fileオブジェクトのメソッドでファイル「tamashi.txt」をコピー、コピーしたファイルの情報を取得してみる
▼記述例▼Sub Test_FIle()
Dim FSO As New FIleSystemObject '外部のオブジェクトの参照を格納
Dim FolderInfo As Folder '情報を取得したいフォルダを格納するための変数を作成
Dim FIleInfo As File 'ファイルを格納するための変数を作成
Dim FPath As String 'ファイルのパスを格納するための変数を作成
Dim Msg As String '結果報告用の変数を作成
FPath = "C:\Users\user\Desktop\tama-shi"
Set FolderInfo = FSO.GetFolder(FPath) 'Folderオブジェクトのインスタンスを生成
FolderInfo.CreateTextFile "tamashi.txt" 'テキストファイルを作成
Set FIleInfo = FSO.GetFile(FPath & "\tamashi.txt") 'Fileオブジェクトのインスタンスを生成
FIleInfo.Copy FPath & "\tamashi_2.txt" 'テキストファイルをコピー
Set FIleInfo = FSO.GetFile(FPath & "\tamashi_2.txt") 'Fileオブジェクトのインスタンスを生成
Msg = FIleInfo.DateCreated '「tamashi_2.txt」を作成した日時を取得
Debug.Print "ファイル「tamashi_2.txt」は" & Msg & "に作成"
Set FolderInfo = Nothing '念のため参照を解除
Set FIleInfo = Nothing '念のため参照を解除
Set FSO = Nothing '念のため参照を解除
End Sub
▼処理結果▼
テキストファイルの作成の時には、ファイル名を拡張子までいれないとただのファイルができる