【Excel-VBA】フォルダ内のファイルを一括で読み込む方法と読めない場合の原因と対処法

2020年2月19日

フォルダ内のファイルを一括で読み込む際に出るエラー。「Dir$()」に同一ファイルが表示されて、無限ループしてしまう現象が起こり、ファイルを読み込めない。

 

ユーザー
ユーザー

・変数に次のファイルが読めない

・同じファイル名ばかり入ってくる

・一つずつファイルを読み込むはずの「DIR()$」が全く読み込まない

 

という経験はありませんか?こんな悩みに関して、このDIR()$が読み込まない場合の原因とその対処法について解説していきましょう。

Dir$()の読み込みエラー表示

それでは、実際にどんなエラーの現象が出てしまうのか見ていきましょう。

<Dir$()の読み込み表示エラーについて>

  • ずっと同じファイル名が表示される
  • 結果同ファイルを読み込むので無限ループになる

 

 

まずこのDIRの読み込みエラーには、どんな現象が起こるのかというと、同じディレクトリーに格納されているファイルを一括で読み込む処理ですが、新しい次のファイルが変数に入ってこないという現象が起こります。

まずは、こちらの処理をご覧ください。

 

このように、下から3行目のところでDir関数が記述されていますが、ここで変数にファイル名が引き渡されるのですが、Do while文で何度も処理を回しているのにファイルが切り替わらないのです。

ファイルが切り替わらないため、当然無限ループになってしまいます。

これはまずいです。

 

 

DIR$()の変数が切り替わらない原因とは

ユーザー
ユーザー
いったいこの原因はどこにあるんだろう?

このDir$()の変数に値が入ってこない原因について下記の理由が挙げられます。

 

<Dir$()の変数に値が入ってこない原因とは>

  • 読み込みファイル破損
  • プログラミングの記述が古い

 

よくあるのが、読み込むファイルそのものが破損していることがあります。

こうした場合には、ファイル名が先に読み込めないことがありますので、注意が必要です。

またもしかしたらプログラムソースの記述が古いなんてことがあります。これらの場合には、読み込む記述方法を書き換える発想の転換も大切です。

 

読み込まない場合の2つの対処法

それでは、フォルダ内のファイルを一括で読み込むことができない場合の対処法について解説していきましょう。この対処法には、大きく分けて2つに方法が挙げられます。

 

<読み込まない場合の2つの方法>

  • ファイルを置き換える
  • プログラムソースを根本から書き換える

 

ファイルを作り替えましょう

読み込まない場合には、まずはファイルを作り変えてみましょう。一から読み込むファイルを作り替えると動作することがあります。

ファイル自体の破損が起こっている場合にも、プログラムが正常に働かないこともあるので、注意しましょう。

 

FileSystemObjectによるソースの書き換え

それでも大きな変化が得られない場合には、プログラミングの記述を新しくしてみる方法も一つの方法です。

これはどういうことかというと、そのあなたの記述するコーディングが昔の古い形式の処理の場合処理が動かない場合があります。

「FileSystemObjectのVBScript」の処理を活用して記述する方法です。

下記の記述方法にソースを変更して見て下さい。

 

■VBScriptによるフォルダ内のファイルを一括で読み込む処理

 

または、VBScriptでも動作しますので、こちらに変更して試してみてください。

設定環境について

このエラーが起こった設定環境についてお伝えしておきます。

Office:2016

OS:Win7

 

 

まとめ

このように、プログラムの記述は、一つの記述方法だけではありません。

アルゴリズムを組み立てれば、色々な記述をすることができますので、色々な記述で動作するプログラムを記述していきましょう。

 

【おすすめ:WordPressテーマ 「WING(AFFINGER5)」について
     ※ブログを始めるなら絶対おすすめ【特典あり】


私も新たなサイト【育チルnet」にて、検索エンジンの上位の多くを占めると言われるSEO対策に強いWordpressテーマを導入してみました。

実際に利用した所感は、デザイン性能がかなり整っていますし、表示速度もやっぱりかなり速いです。人気なWordpressテーマなだけはあると感じました。

無料のテーマでも私は悪いとは思っていませんが、やはり検索エンジンからの評価はだいぶ違いました。

初めて数ヶ月ですが、もうすでに検索エンジンから大きく表示されるようになっています。

どうせやるなら、しっかりgoogle社からの評価を受けられる整えられた環境でブログ運営する方が絶対にいいと感じたため、当サイトをご覧下さった皆様にもお伝えさせて頂きました!

Wordpressテーマを新たにご検討方は、今しかない期間限定の特典も付いていますので、お早めにご確認下さい。

公式サイト



 ←ためになったら押してね^^