項目

フォルダの情報を取得する(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

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

    Dim fso      As New FileSystemObject
    Dim fldrPath As String
    Dim fldr     As Folder
    
    '取得するフォルダのパス
    fldrPath = "d:\temp"
    
On Error GoTo err_handle

    'インスタンスを取得
    Set fldr = fso.GetFolder(fldrPath)
    
    With fldr
        Debug.Print "【"; fldr; "の情報】"
        Debug.Print
        Debug.Print "フォルダ名      : "; .Name
        Debug.Print "属性            : "; getAttribute(.Attributes)
        Debug.Print "作成日          : "; .DateCreated
        Debug.Print "最終アクセス日  : "; .DateLastAccessed
        Debug.Print "更新日          : "; .DateLastModified
        Debug.Print "ルート?        : "; .IsRootFolder
        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 fldr = 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