たま氏の覚え書き

KNIME・AccessVBA・Swift等、学習したことを覚え書き

AccessVBA_FileSystemObjectその4_【Fileオブジェクト】【GetFile】ファイルの情報の取得・設定

FSOを使用して指定したファイルの情報を取得・設定する方法

Fileオブジェクトの取得

FSOの【GetFile】メソッドを使用

書式:
オブジェクト.GetFile("ファイルのパス")

▼記述例▼

  Dim FSO As New FIleSystemObject '外部のオブジェクトの参照を格納
  Dim FileInfo As File '情報を取得したいファイルを格納するための変数を作成
  Set FIleInfo = FSO.GetFile("C:\Users\user\Desktop\tama-shi\tamashi.txt") 'Fileオブジェクトのインスタンスを生成


Fileオブジェクトのプロパティ

Attributes ファイルの属性を取得・設定
Name ファイルの名前を取得・設定
Path ファイルのパス
Drive ファイルが存在しているドライブ名を取得
Size ファイルのサイズを取得
Type ファイルの種類を取得
 
DateCreated ファイル作成日時
DateLastAccessed ファイルに最後にアクセスされた日時
DateLastModified ファイルが最後に更新された日時

 他

Fileオブジェクトのメソッド

OpenAs TextStream テキストファイルを開く※復習記事作成予定
Copy ファイルをコピー
Move ファイルを移動
Delete ファイルを削除

【実践】ファイルの情報を取得・設定する記述例

Folderオブジェクトのメソッドを使用して、ファイル「tamashi.txt」を作成したあと
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


▼処理結果▼




テキストファイルの作成の時には、ファイル名を拡張子までいれないとただのファイルができる