Access

Access(VBA)でフォルダ内の全ファイルを順次処理する方法

Windowsのフォルダやファイルを順次取得して、Accessの次の処理を行うこともよくあります。

例えば、指定のフォルダ配下にある全てのファイルをインポートするような処理です。

その際はFSO(ファイルシステムオブジェクト)を使用すれば簡単にループ処理を実行できます。

フォルダ内の全ファイルを処理するための事前準備

フォルダ内を探索するにはFileSystemObjectを使用します。

VBAからこのライブラリを利用できるように、参照設定を追加する必要があります。

VisualBasic画面の上部メニューのツール → 参照設定 の順で選択します。

「Microsoft Script Runtime」にチェックを入れます。

この参照設定がなければコンパイルエラーとなります。

参照エラー

スポンサーリンク

指定のパス配下の全フォルダ名を取得する

パスは画面から指定させ、そのパス配下のフォルダ名を取得し、メッセージボックスで表示するプログラムです。

VBAフォルダ選択
AccessのVBAでファイルダイアログからフォルダを指定する方法主にファイルを出力するときなどに使うフォルダ選択ダイアログ。VBAのサンプルコードを公開しています。コピペでどうぞ。...

尚、このプログラムでは指定したパスの直下フォルダのみ処理していますので、取得したフォルダ配下のフォルダ(孫フォルダ)は取得していません。

指定したパスの孫フォルダなども捜索したい場合は再帰的な処理を埋め込む必要があります。

スポンサーリンク

指定のパス配下の全ファイル名を取得する

vbaでフォルダ内の全ファイル名を取得するコードです。

基本はサブフォルダ名を取得するコードと同じ。

ループ処理の対象が、『fld.files』か『fld.subfolders』なのかの違いだけです。

 

スポンサーリンク

まとめ

VBAでフォルダ内のファイルまたはフォルダを探索して全ファイル名・フォルダ名を取得するコードをご紹介しました。

これらをベースにグルグル回しながら面倒な処理を一気に効率化しましょう!

 

\逆引き辞書があると便利です/

ABOUT ME
アズビーパートナーズ
アズビーパートナーズ
プログラマーと社内SEとしての経験を活かして、 情報システム部門のご相談を承ります。 得意な分野はAccessによる短納期開発、 BIツール(QlikSense/QlikView)の開発です。 現在はCMSを利用したホームページの作成にも力を入れています。
今のスキルのままで大丈夫?

あなたのスキル。今のままで大丈夫ですか?

時代のニーズに合った開発スキルを身につけてあなたの価値を高めましょう。

\オンラインでも教室でも学べるおすすめのスクール/

TECH::CAMP(エンジニアスクール)

まずは基礎から・・・という方はProgateUdemyどっとインストールなどがおすすめ!

スキルアップについて詳しくはこちら