【エクセルVBA】指定フォルダ内のフォルダのフルパスを一括取得する方法!

f:id:yshgs_elec:20200903225500j:plain

この記事はVBAを用いて、指定したフォルダの中にある、フォルダのフルパスを一括取得する方法をご紹介します。

 

それでは早速やっていきましょう!

スポンサーリンク

フォルダ内にあるフォルダのフルパス取得方法

今回は以下の画像のように、あるフォルダの中に入っているフォルダのフルパスを一括取得する方法をご紹介します。

あるフォルダの中に大量のフォルダが入っている様子

手順①検索フォルダの指定

まずはエクセルファイルを開きます。

今回は以下の画像のように検索されるフォルダのフルパスをあらかじめ記述しています。

今回はA4セル以降に内部のフォルダのフルパスを表示します。

探索したいフォルダのフルパスを指定する

手順②フルパス取得のコードを記述⇒実行

VBAを開き、以下のコードを記述します。

※VBAの使い方がわからない、という方は以下の記事をご覧ください。

【初心者用】エクセルマクロ(VBA)の始め方を詳細解説 – ヒガサラblog

以下が実行コードです。

Sub forder_search()
    Dim base_folder As String
    Dim sub_folder As String
    Dim i As Integer
    base_folder = Cells(2, 1)
    sub_folder = Dir(base_folder & "\", vbDirectory)
    i = 0
    Do Until sub_folder = ""
        If GetAttr(base_folder & "\" & sub_folder) = 16 Then
            If sub_folder <> "." And sub_folder <> ".." Then
                i = i + 1
                Cells(3 + i, 1) = base_folder & "\" & sub_folder
            End If
        End If
        sub_folder = Dir()
    Loop
End Sub

※ご自身のシートに応じてCells(*,*)の部分を適宜変更してください。

 

コードの記述が終わればあとは実行するのみ!!

以下が実行結果です。

子フォルダのフルパスを一括取得した結果

きちんとすべてのフォルダのフルパスが取得できていますね。

 

あとはこれらのフォルダを指定して、コピーなり、データ読み込みなりを行っていけば、冒頭に記載したような処理は簡単に行うことができるでしょう。

 

スポンサーリンク

おわりに

というわけで今回は指定したフォルダの中に入っているフォルダのフルパスを一括取得する方法についてご紹介しました。

 

一度作っておくと非常に便利ですので、ぜひご活用ください。

 

このブログではエクセルスキルを中心に、さまざまな業務効率化スキルをご紹介しています。

■エクセルについてもっと詳しくなりたい。

■業務を効率化していきたい。

こんな人はぜひ他の記事も読んでみてください。

 

最後に・・・

このブログはブログ村に参加しています。

このブログを応援してくれる方は以下のボタンを押していただけると嬉しいです。

にほんブログ村 IT技術ブログ VBAへ
にほんブログ村

にほんブログ村 IT技術ブログへ
にほんブログ村

Twitterもやっていますので、興味があればフォローよろしくお願いします。

それではまた!!

コメント

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