※本ブログのページには広告主との提携による広告や宣伝、プロモーションが含まれます。当ブログを経由しての商品の購入や、サービス申し込みが発生すると、それらの提携企業からの成果報酬を受けとる場合があります。

VBA|GetFolderメソッド(ファイルシステムオブジェクト)

FileSystemObjectGetFolderメソッドは指定されたパスのフォルダオブジェクトを返します。

※ファイルシステムオブジェクト(FileSystemObject)についてはこちら

GetFolderメソッドの構文

ファイルシステムオブジェクト.GetFolder(フォルダパス(Folderpec))

GetFolderメソッドの構成要素と引数

要素/引数 必須/任意 説明
ファイルシステムオブジェクト
(FSO)
必須 ファイルシステムオブジェクトを指定します。
フォルダパス
(Folderpec)
必須 取得したいフォルダのパスを指定します。

フォルダパス(Folderspec) に指定されたファイルが見つからなかった場合はエラーが発生します。

GetFolderメソッドをつかったサンプルマクロ

  
Option Explicit

Sub ファイルシステムオブジェクト_GetFolderメソッド()

    'ファイルシステムオブジェクトを使うため準備
    '①事前バインディングの場合はVBEのツールより参照設定で「Microsoft Scripting Runtime」にチェックをしてください。
    Dim FSO As FileSystemObject
    Set FSO = New FileSystemObject

    'Folderオブジェクトを代入する変数を宣言
    Dim FolderObject As Object

    'GetFolderメソッドの使用例
    Set FolderObject = FSO.GetFolder("C:\Users\ユーザー名\Desktop\Test") 'フォルダパスを指定

    'Folderオブジェクトのプロパティを使用する
    Debug.Print "①"; FolderObject.Type 'フォルダ種別
    Debug.Print "②"; FolderObject.Name 'フォルダ名
    Debug.Print "③"; FolderObject.PATH 'フォルダパス
    Debug.Print "④"; FolderObject.DateCreated 'フォルダ作成日時
    Debug.Print "⑤"; FolderObject.DateLastAccessed 'フォルダ最終アクセス日時

    '【フォルダの中のファイル数を調べる】
    'FolderオブジェクトのFilesプロパティを代入する変数を宣言
    Dim FileCollection As Object

    'Filesコレクションを代入する
    Set FileCollection = FolderObject.Files

    'FilesコレクションのCountプロパティを利用する
    Debug.Print "⑥"; FileCollection.Count 'フォルダの中のファイルの数

    '【フォルダの中のフォルダ数を調べる】
    'FolderオブジェクトのSubFoldersコレクションを代入する変数を宣言
    Dim SubFolderCollection As Object

    'SubFoldersコレクションを代入する
    Set SubFolderCollection = FolderObject.SubFolders

    'SubFoldersコレクションのCountプロパティを利用する
    Debug.Print "⑦"; SubFolderCollection.Count 'フォルダの中のフォルダの数

End Sub

11行目

GetFolderメソッドでフォルダオブジェクトを代入するための変数FolderObjectを宣言します。

14行目

GetFolderメソッドでデスクトップの”Test”フォルダを指定しています。

17行目から21行目

Folderオブジェクトのプロパティを利用してフォルダの種別、名前、フォルダパス、作成日時、最終アクセス日時を表示しています。

25行目

GetFolderメソッドで取得したフォルダオブジェクトのFilesコレクションを代入する変数としてFileCollectionを宣言します。

28行目

Filesプロパティを利用してFileCollectionにFilesコレクションを代入しています。

31行目

FilesコレクションのCountプロパティにより、”Test”フォルダのなかのファイルの数を返しています。

35行目

GetFolderメソッドで取得したフォルダオブジェクトのSubFoldersコレクションを代入する変数としてSubFolderCollectionを宣言します。

38行目

SubFoldersプロパティを利用してSubFolderCollectionにSubFoldersコレクションを代入しています。

41行目

SubFoldersコレクションのCountプロパティにより、”Test”フォルダのなかのフォルダの数を返しています。

便利なフォルダオブジェクトを取得できるから使いどころが多いメソッドだね。

PR

独学でプログラミングをはじめてみたけど、このままの学習方法に不安を感じているのなら、
オンラインスクールで現役エンジニアのサポートがあるテックアカデミーがおすすめ。
スキマ時間に学べて仕事も保証。必ず副業、始められます。まずは無料でプログラミング体験

コダマのもりブログはにほんブログ村に登録しています。
ブログの記事が役に立ったと感じて頂けたら、フォローお願いいたします。

コメント

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