FileSystemObject

Fileクラスオブジェクトを取得する【GetFileメソッド】【FileSystemObject】【ExcelVBA】

構文

Object.GetFile(filespec) 

filespec・・・・Fileオブジェクトを取得したいパスを指定/ファイル名のみはカレントディレクトリが対象
戻り値 ・・・・・オブジェクト型 Fileオブジェクトを返します。存在しない場合はNothing
filespecに指定したパスからFileオブジェクトを取得します。

GetFileメソッドのサンプルコード

Public Sub sample()

    '■FileSystemObjectの宣言
    Dim fso As Object: Set fso = CreateObject("Scripting.FileSystemObject")
    
    Dim sFile As Object '参照設定している場合は Dim sFile As File
    Set sFile = fso.GetFile("C:\vba\sample.txt")
    
    If sFile Is Nothing Then
    '■ファイルが存在しなければ何もしない
    Else
    '■ファイルが存在すれば  各種情報取得
        Debug.Print sFile.Name          'sample.txt
        Debug.Print sFile.Size          '100
        Debug.Print sFile.Type          'テキスト ドキュメント
        Debug.Print sFile.DateCreated   '2022/08/21 12:53:07
        
    End If
    
    '■ファイル名だけ引数にした場合はカレントディレクトリを指定
    Set sFile = fso.GetFile("sample.txt")

    '■ファイルが存在しない場合は実行時エラー53「ファイル(クラス)が見つかりません。」
    Set sFile = fso.GetFile("C:\vba\aaa.txt")

End Sub

注意点

  • Fileオブジェクトの対象は1ファイルのみです。
  • 引数はワイルドカードは利用できません。

関連記事

コメント

タイトルとURLをコピーしました