【Excel-VBA】Dir関数の実務的な使い方

こんにちは。Nakaiです。
先週末は「データ分析」セミナーのご参加ありがとうございました!
役にたった!
データ分析力の必要性が分かった!
など、参加してよかったとのお声をたくさんいただきました。
お教室でアーカイブ視聴が無料で出来ますので、ご都合がつかなかった方は、是非スタッフに声をかけてご希望の日時を教えてくださいね。
せっかくPCスクールにご通学いただいているので、このような機会に視野を広げてください。
さて、今日は久しぶりにExcelVBAの記事です。
ExcelのVBA関数はExcelによく似た関数が存在したりしますが、Dir関数はExcelにはありません。
Dir関数の引数にファイルを指定し、そのファイルがあったらファイル名を返す、存在しなければ””(空文字)を返す、という関数です。
例えば、「CドライブのDATAフォルダの中にあるすべてのファイルを取得し、ファイル名を書き出す」
という場合下記のコードでイミディエイトウィンドウに書き出しができます。
Sub test()
Dim buf as string
buf=Dir(“C:\DATA\*”)
Do While buf<>””
Debug.Print buf
buf=Dir()
Loop
End Sub
最後にbuf=Dir()という記述がありますが、Dir関数で引数を省略すると、前回と同じ条件、つまりCドライブのDATAフォルダの次に該当する、まだ取得されていないファイルが取得できます。
これをbufが空文字にならない間処理を繰り返せば、全てのファイルが取得できるのです。
今回は単純にイミディエイトウィンドウにファイル名を出力しただけですが、実際はここにファイルに対する処理を記述すると立派なプログラムになります!
Dir関数はファイルがあるかどうかの判定に利用できるので、ファイル名を変更する前に、ファイルがあるかどうかのチェックで使うことは多いと思いますが、いろいろ使える関数です。
皆さんのCドライブにDATAフォルダを作成し、いくつかファイルを保存して上記のコードをコピペして実行してみてください。
パソコンスクールISA船橋校はVBAの受講生が多いので、これからもVBAのワンポイント記事を書いていきますね。
夢を叶えるキャリアアップスクール パソコン教室ISA船橋FACE校
「すべては受講生のために」をモットーに、ビジネスに必要なパソコンスキルから
就転職に向けてのパソコン資格の取得まで個別授業を行っています。
是非お気軽にご来校ください。
住所:千葉県船橋市本町1丁目3-1 FACEビル12F
連絡先:TEL: 047-424-3544
Mail: isa_funabashi@isa-school.co.jp
授業時間
月~木 10:30~20:30
金~日 10:00~17:00