Excel VBA Dir関数でワイルドカードを使い特定拡張子のファイルを探す方法

 

Excel VBAの Dir関数で、指定されたディレクトリ内のファイルやフォルダを取得できます。使い方や注意点など、サンプルコードをもとに具体的に解説します。

 

基本的な文法やVBAの実践的な応用までを網羅的に学習できる方法は、ExcelVBAエキスパート資格の取得を目指すこと。学習を通して、より効率的に、着実に基礎を身につけることが可能です。資格取得すれば、スキルの証明にもなり、職場での評価アップにも繋がるため、勉強を進めるモチベーションにもなります。
本サイト参考:マクロ知識がないから「何から学べば良いのかわからない」という人におすすめの記事

 

Excel VBA Dir関数とワイルドカードの利用

以下のようなシーンで利用されます。

・特定のパターンに一致するファイルやフォルダを検索するときに使用します。

・ファイルのバッチ処理や特定のファイルを取得する際に有用です。

 

ポイント

・Dir関数を使用する前に、対象のディレクトリを設定する必要があります。

・ワイルドカード `*` は0文字以上の任意の文字列に一致します。例えば、`*.txt`は拡張子がtxtで終わるすべてのファイルに一致します。

 

Excel VBA Dir関数とワイルドカードのサンプルコード
Option Explicit

Sub SearchFilesWithWildcard()
    Dim folderPath As String
    Dim fileName As String

    ' ディレクトリの設定
    folderPath = "C:\Users\User\Desktop\新しいフォルダー\"

    ' 指定のパターンに一致するファイルを検索
    fileName = Dir(folderPath & "*.txt")

    ' すべての一致するファイルを表示
    Do While fileName <> ""
        MsgBox "Found file: " & folderPath & fileName
        ' 次のファイルを検索
        fileName = Dir
    Loop
End Sub

サンプルコードは、指定のディレクトリ内のすべてのtxtファイルを検索し、それぞれのファイルパスをメッセージボックスで表示しています。

 

Excel VBA Dir関数の戻り値の使い方

Excel VBAで自動化するコードのベースを習得したい方におすすめ!

VBAエキスパート資格は、日常業務でExcelを多用し、手動作業を減らしたいと考えている方には価値あるものです。

ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。


ExcelVBAエキスパートスタンダード

ExcelVBAの開発を仕事にする人が対象の問題集です。

 

Excel  VBA エキスパート資格について知りたい方は、下記「Excel VBAスキルアップを目指すなら知っておきたいVBAエキスパート」をご確認ください。