VBA ファイル名・ファイル一覧を取得する方法 - Excel ホームページ制作 | 墨田区

VBA ファイル名・ファイル一覧を取得する方法 – Excel

LINEで送る
Pocket

VBAでファイル名やファイル一覧を取得する方法 をご紹介します。
ファイル操作はプログラムの基本ともいえますね。
ここでは VBAでファイル名・パスを取得する方法と共に、指定されたフォルダー内のファイル一覧を取得する方法 をご紹介します。




【PR】マジか?!「アレ」してるLINEスタンプっていったい・・・


ファイル名・パスを取得する方法

VBAが記述されたファイルのパスや名前を取得する場合は、以下の通りとなります。

ファイル名取得ThisWorkbook.Name
パス取得ThisWorkbook.Path
フルパス取得ThisWorkbook.FullName

サンプルソース

標準モジュールを作って以下のように記述します。
※サンプルは「C:\VBA ファイル名取得方法\サンプル\」に作成し、ファイル名は「サンプル.xlsm」としています。

Sub Macro1()
    ' ファイル名取得
    Debug.Print ThisWorkbook.Name
    ' パス取得
    Debug.Print ThisWorkbook.Path
    ' フルパス取得
    Debug.Print ThisWorkbook.FullName
End Sub

Debug.Print を使って、イミディエイトに出力します。

実行ボタンを押下するか、「F5」キーを押下します。
VBA実行ボタン

結果はこんな感じです。

サンプル.xlsm
C:\VBA ファイル名取得方法\サンプル
C:\VBA ファイル名取得方法\サンプル\サンプル.xlsm

指定されたフォルダー内のファイルの一覧を取得する方法

今度は、指定されたフォルダー内のファイル一覧を取得する方法です。
フォルダー内に以下のようなファイルがあったとします。
VBAファイル一覧取得
この中から、拡張子「.xlsx」だけをリスト化してみます。


サンプルソース

標準モジュールに以下のように記述します。

Sub Macro2()
    Dim Buf As String
    Dim Path As String
    ' パスを取得
    Path = ThisWorkbook.Path
    ' .xlsxファイル取得
    Buf = Dir(Path & "\*.xlsx")
    Debug.Print "### " & Path & " 内の.xlsx一覧 ###"
    
    Do While Buf <> ""
        ' ファイル名と更新日時を取得
        Debug.Print Buf & " : " & FileDateTime(Path & "\" & Buf)
        Buf = Dir()
    Loop
End Sub

まず Dir関数 を使って、ファイルがあるかどうかを取得します。

Buf = Dir(Path & "\*.xlsx")

ファイルがあった場合 Loop してファイル名と更新日時を取得します。
FileDateTime関数を利用すると更新日時が取得できます。

Debug.Print Buf & " : " & FileDateTime(Path & "\" & Buf)

再び Dir関数 を使って、ファイル名を取得します。

Buf = Dir()

それでは実行してみましょう。
※実行ボタンを押下するか、「F5」キーを押下します。
結果はこんな感じです。

### C:\VBA ファイル名取得方法\サンプル 内の.xlsx一覧 ###
Book1.xlsx : 2014/11/27 10:00:36
Book2.xlsx : 2014/11/27 10:13:03
Book3.xlsx : 2014/11/27 10:17:29

ファイル操作やファイルの一覧を作るというのは、実務ではよくありますので、覚えておきましょう。

おつかれさまでした。

LINEで送る
Pocket

この記事がお役に立ちましたら シェア をお願いいたします。

Office / VBAの勉強が思うように進まないときは!

Office / VBAの勉強が思うように進まないのであれば、プロに直接質問ができる プログラミングスクール を検討してみてはいかがでしょうか?プログラミングスクールに申し込めば、短期間で一定のスキルを身に着けることができます!

Office / VBAコースあり!未経験者にウケてる KENスクール パソコンスクール・パソコン教室 【KENスクール】個別指導のWeb-DTP・OA・IT PCスクール

理解度や学習ペースに合わせて、一人ひとりが納得して前進できる授業を提供してくれるのが特徴です。特に課題製作は現場さながらで、実務に即したものとなっていますので短期でのスキルアップが望めます。自宅学習のサポートも充実していて、授業内容をいつでもビデオで振り返ることができるのもうれしいですね。好きな時間に好きな場所で、無理なくスケジューリングできるので、仕事の忙しい方でも柔軟に学ぶことができますよ。

更にさらに、なんと 就職サポート をしてくれるというのですから驚きです!!

履歴書の書き方から面接指導、求人の紹介など、具体的な就職先まで提案してくれるんです!私も「もっと早く出会いたかったなぁー、こんなスクール」・・・って思っちゃいました^^

東京・神奈川・愛知・大阪を営業エリアとされています。
まずは気軽に 無料体験予約 に申し込んでみるのもアリですよ。


コメントを残す

お名前 (必須)
メールアドレス
(アドレスは公開されません)

コメント(必須)

Trackback URL