項目

ファイルの情報を取得する(FileSystemObject)

概要

FileSystemObjectを使用してファイルの情報を取得します。

Option Compare Database
Option Explicit

'--------------------------------------------------------
' 定数宣言領域
'--------------------------------------------------------
'FILE_ATTR
Private Const FILE_ATTR_NORMAL = 0
Private Const FILE_ATTR_READONLY = 1
Private Const FILE_ATTR_HIDDEN = 2
Private Const FILE_ATTR_SYSTEM = 4
Private Const FILE_ATTR_VOLUME = 8
Private Const FILE_ATTR_DIRECTORY = 16
Private Const FILE_ATTR_ARCHIVE = 32
Private Const FILE_ATTR_ALIAS = 64
Private Const FILE_ATTR_COMPRESSED = 128

'--------------------------------------------------------
' 名称    : getFileInfo
'
' 機能    : ファイルの情報を取得する(FileSystemObject)
'
' 参照設定: Microsoft Scripting Runtime
'
'--------------------------------------------------------
Sub getFileInfo()

    Dim fso      As New FileSystemObject
    Dim filePath As String
    Dim f        As File
    
    filePath = "d:\temp\test.txt"
    
On Error GoTo err_handle

    'インスタンスを取得
    Set f = fso.GetFile(filePath)
    
    With f
        Debug.Print "【"; f; "の情報】"
        Debug.Print
        Debug.Print "ファイル名      : "; .Name
        Debug.Print "属性            : "; getAttribute(.Attributes)
        Debug.Print "作成日          : "; .DateCreated
        Debug.Print "最終アクセス日  : "; .DateLastAccessed
        Debug.Print "更新日          : "; .DateLastModified
        Debug.Print "親              : "; .ParentFolder
        Debug.Print "パス            : "; .Path
        Debug.Print "ショートネーム  : "; .ShortName
        Debug.Print "ショートパス    : "; .ShortPath
        Debug.Print "サイズ          : "; .Size
        Debug.Print "タイプ          : "; .Type
        Debug.Print
    End With

exit_handle:
    Set fso = Nothing
    Set f = Nothing
    Exit Sub
err_handle:
    Debug.Print Err.Description
    Resume exit_handle
End Sub
'--------------------------------------------------------
' getAttribute : 対応する属性を返す
'--------------------------------------------------------
Function getAttribute(attr)
Select Case attr
    Case FILE_ATTR_NORMAL: getAttribute = "NORMAL"
    Case FILE_ATTR_READONLY: getAttribute = "READONLY"
    Case FILE_ATTR_HIDDEN: getAttribute = "HIDDEN"
    Case FILE_ATTR_SYSTEM: getAttribute = "SYSTEM"
    Case FILE_ATTR_VOLUME: getAttribute = "VOLUME"
    Case FILE_ATTR_DIRECTORY: getAttribute = "DIRECTORY"
    Case FILE_ATTR_ARCHIVE: getAttribute = "ARCHIVE"
    Case FILE_ATTR_ALIAS: getAttribute = "ALIAS"
    Case FILE_ATTR_COMPRESSED: getAttribute = "COMPRESSED"
End Select
End Function