FileSystemObject

フォルダ・ファイルの種類を取得する【Typeプロパティ】【FileSystemObject】【ExcelVBA】

構文

Object.Type

Type・・・・指定したObjectの短いファイル名を取得します。
Fileオブジェクト、Folderオブジェクトの8.3形式のファイル名を取得します。
8.3形式とは、MS-DOSや Windows 3.x までのWindowsのファイル名、Windows 95 以降のWindowsの「短いファイル名 (short filename; SFN)」などに適用される、ファイル名の形式です。

Typeプロパティのサンプルコード

Public Sub sample()

    '■FileSystemObjectの宣言
    Dim fso As Object: Set fso = CreateObject("Scripting.FileSystemObject")
    
    '■フォルダの形式を取得
    Debug.Print fso.GetFolder("C:\vba\data").Type                  'ファイル フォルダー
    Debug.Print fso.GetFolder("C:\vba\sample").Type                'ファイル フォルダー
    
    '■ファイルの形式を取得(取得内容は環境による)
    Debug.Print fso.GetFile("C:\vba\sample.xlsx").Type          'Microsoft Excel ワークシート
    Debug.Print fso.GetFile("C:\vba\sample.pdf").Type           'Foxit PDF Reader Document
    Debug.Print fso.GetFile("C:\vba\sample.docx").Type          'Microsoft Word 文書
    
End Sub

注意点

  • フォルダが存在しなければエラー発生します。FolderExistsで事前確認必要です。
    実行時エラー76「パスが見つかりません。」
  • ファイルが存在しなければエラー発生します。FileExistsで事前確認必要です。
    実行時エラー53「ファイルが見つかりません。」

関連記事

コメント

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