アクセス上位ページ
 
最近の更新内容

Excel VBA ≫ 3.FSO - 概要(1)-b.ファイルシステムオブジェクトの生成

ファイルシステムオブジェクトの生成

ファイルシステムオブジェクトを使用するには、まずメインのファイルシステムオブジェクトを生成する必要があります。 このオブジェクトを生成するには CreateObject 関数を使用します。
この際、引数に"Scripting.FileSystemObject"を指定します。

'ファイルシステムオブジェクトへの参照を格納するための変数
Dim fso     As Object
'ファイルシステムオブジェクトの生成と変数への格納
Set fso = CreateObject("Scripting.FileSystemObject")




ファイルシステムオブジェクトを生成すると、そのメソッドを使用してファイルやフォルダなどのオブジェクトが取得可能になります。 これらのオブジェクトも必要に応じて変数を用意し、格納しておくとよいでしょう。

以下に簡単な使用例を掲載します。もう少し詳細な使用方法については別ページで後述します。

  • 簡単な使用例1
  • 'ファイルシステムオブジェクトへの参照を格納するための変数
    Dim fso         As Object
    'ファイルオブジェクトへの参照を格納するための変数
    Dim fileObj     As Object
    'フォルダオブジェクトへの参照を格納するための変数
    Dim folderObj   As Object
    
    'ファイルシステムオブジェクトの生成と変数への格納
    Set fso = CreateObject("Scripting.FileSystemObject")
    
    'カレントフォルダ内にある"test.txt"のファイルオブジェクトを取得
    Set fileObj = fso.GetFile("test.txt")
    '"test.txt"の作成日時、最終更新日時を表示
    MsgBox "作成日時  :" & fileObj.DateCreated & vbLf & _
           "最終更新日時:" & fileObj.DateLastModified
    
    'カレントフォルダのフォルダオブジェクトを取得
    Set folderObj = fso.GetFolder(CurDir)
    'カレントフォルダ内のファイルとフォルダ数を表示
    MsgBox "ファイル数:" & folderObj.Files.Count & vbLf & _
           "フォルダ数:" & folderObj.SubFolders.Count
    


  • 簡単な使用例2(with ステートメント使用)
  • 上記の例で With ステートメント を使用すると次のように記述できます。 できるだけ使用する変数を減らしたい思う方は With ステートメントを有効に利用するとよいでしょう。
    'ファイルシステムオブジェクトへの参照を格納するための変数
    Dim fso         As Object
    
    ファイルシステムオブジェクトの生成と変数への格納
    Set fso = CreateObject("Scripting.FileSystemObject")
    
    'カレントフォルダ内にある"test.txt"のファイルオブジェクトを取得
    With fso.GetFile("test.txt")
        '"test.txt"の作成日時、最終更新日時を表示
        MsgBox "作成日時  :" & .DateCreated & vbLf & _
               "最終更新日時:" & .DateLastModified
    End With
    
    'カレントフォルダのフォルダオブジェクトを取得
    With fso.GetFolder(CurDir)
        'カレントフォルダ内のファイルとフォルダ数を表示
        MsgBox "ファイル数:" & .Files.Count & vbLf & _
               "フォルダ数:" & .SubFolders.Count
    End With
    
カテゴリ内ページ



Page
Top