ファイル、フォルダーを参照する

FileSystemObject オブジェクト

コンピュータのファイル システムへのアクセスを提供します。

構文

構文
(以下Helpより)-----

FileSystemObject オブジェクト
Scripting.FileSystemObject

-----(以上Helpより)

GetFolder メソッド

指定されたパスに置かれているフォルダに対応する Folder オブジェクトを返します。

構文

構文
(以下Helpより)-----

object.GetFolder(folderspec)

パラメーター

名前説明
object必ず指定します。FileSystemObject オブジェクトの名前を指定します。
folderspec必ず指定します。目的のフォルダのパスを指定します。絶対パス、または相対パスのどちらかを指定できます。

指定したフォルダが存在しない場合は、エラーが発生します。

-----(以上Helpより)

次の例は。Foldersコレクション(1つのFolderオブジェクトに含まれるすべてのFolderオブジェクトのコレクション)を取得して、 For Each...Next ステートメントでフォルダーを抽出するものです。
VBAのモジュールが入ったExcelファイルと同階層にExcle1~3までのフォルダーがある場合の実行結果で、1列目にフォルダー名、2列目にフォルダーのサイズをバイトで表示しています。


Sub findfolder()

Dim folderpath As String
folderpath = ActiveWorkbook.Path

ShowFolderList folderpath

End Sub

Sub ShowFolderList(folderpath)
    Dim i As Integer
    Dim fs, f, f1, fc
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(folderpath)
    Set fc = f.SubFolders
    
    i = 1
    For Each f1 In fc
        Worksheets("Sheet1").Cells(i, 1).Value = f1.Name
        Worksheets("Sheet1").Cells(i, 2).Value = f1.Size
        i = i + 1
    Next
    
    Set fs = Nothing
    Set f = Nothing
    Set fc = Nothing
    
End Sub

結果
実行結果の例

次の例は、上記の Set fc = f.SubFolders の部分を Set fc = f.Files に変更してファイルを抽出したものです。
VBAのモジュールが入ったExcel(foldercheck)と同階層にExcle2A~2C,画像ファイルがある場合の実行結果です。

結果
実行結果の例


以下、SubFolders,Files,Sizeプロパティの説明と構文です

説明と構文

(以下Helpより)-----

SubFolders プロパティ
指定されたフォルダ内に置かれているすべてのフォルダの入った Folders コレクションを返します。 このコレクションには、隠しファイルやシステム ファイルの属性を持つフォルダも含まれます。

構文
object.SubFolders
object には、Folderオブジェクトの名前を指定します。


Files プロパティ
指指定されたフォルダ内に置かれているすべての File オブジェクトの入った Files コレクションを返します。 このコレクションには、隠しファイルやシステム ファイルの属性を持つ File オブジェクトも含まれます。

構文
object.Files
object には、Folderオブジェクトの名前を指定します。


Size プロパティ
対象がファイルの場合、指定されたファイルのバイト単位のサイズを返します。 対象がフォルダの場合、指定されたフォルダ内のすべてのファイルおよびフォルダの合計サイズをバイト単位で返します。

構文
object.Size
object には、File オブジェクトまたは Folder オブジェクトの名前を指定します。

-----(以上Helpより)

Excel VBAのチップス一覧へ戻る

ツイート
このエントリーをはてなブックマークに追加
inserted by FC2 system