アプリケーションとしてのVBA Excel(エクセル) VBA の役立つ Tips の紹介

アプリケーションとしてのVBA

Folderオブジェクト プロパティ

Folderオブジェクト プロパティ


  Folderオブジェクトのプロパティを使用して、Folderの色々な情報を取得できます。
  一部は変更も可能です。

  以下の表の一覧にまとめました。
内容プロパティR/W
作成された日時DateCreated取得のみ
最後にアクセスされた日時DateLastAccessed取得のみ
最後に更新された日時DateLastModified取得のみ
フォルダが格納されているドライブの名前Drive取得のみ
フォルダの名前Name設定も可能
フォルダのパスPath取得のみ
ルートフォルダかどうかIsRootFolder取得のみ
フォルダが格納されているフォルダの名前ParentFolder取得のみ
以前の 8.3 名前付け規則に従った短い名前ShortName取得のみ
以前の 8.3 名前付け規則に従った短いパスShortPath取得のみ
フォルダ内のファイルとフォルダの合計サイズ 単位はバイトSize取得のみ
フォルダの種類Type取得のみ
アトリビュートAttributes設定できる属性あり
フォルダ内のFilesコレクションFiles取得のみ
フォルダ内のFoldersコレクションSubFolders取得のみ

Sub FolderProperty()

    Dim Folder_Object As Object
    Dim FolderSpec As String
    
    FolderSpec = FolderPath
    
    'フォルダオブジェクトの取得
    Set Folder_Object = CreateObject _
                   ("Scripting.FileSystemObject").GetFolder(FolderSpec)
        
    '作成された日時 取得のみ
    Range("B1") = Folder_Object.DateCreated
        
    '最後にアクセスされた日時 取得のみ
    Range("B2") = Folder_Object.DateLastAccessed
        
    '最後に更新された日時 取得のみ
    Range("B3") = Folder_Object.DateLastModified
        
    'ファイルが格納されているドライブの名前
    Range("B4") = Folder_Object.Drive
        
    'フォルダの名前 設定も可能
    Range("B5") = Folder_Object.Name
        
    'フォルダのパス 取得のみ
    Range("B6") = Folder_Object.Path
        
    'ルートフォルダかどうか
    Range("B7") = Folder_Object.IsRootFolder
        
    '親フォルダの名前 取得のみ
    Range("B8") = Folder_Object.ParentFolder
        
    '以前の 8.3 名前付け規則に従った短い名前
    Range("B9") = Folder_Object.ShortName
        
    '以前の 8.3 名前付け規則に従った短いパス
    Range("B10") = Folder_Object.ShortPath
        
    '指定されたファイルのバイト単位のサイズ
    Range("B11") = Folder_Object.Size
        
    'ファイルの種類
    Range("B12") = Folder_Object.Type
    
    'アトリビュート
    Range("B13") = Folder_Object.Attributes
        
End Sub

Function FolderPath() As String
    
    Dim Shell As Object
    
    Set Shell = CreateObject("Shell.Application"). _
           BrowseForFolder(0, "フォルダを選択してください", 0, "c:\")
    
    If Shell Is Nothing Then
        FolderPath = ""
    Else
        FolderPath = Shell.Items.Item.Path
    End If

End Function


Files と SubFolders のプロパティの使い方は,File / Folder の一覧を取得するで
紹介済みです。

example24 サンプルです 。


Copy (C) 2005   アプリケーションとしてのVBA   All Rights Reserved.