Dir関数が取得するファイルの順番

先日お話しした

指定したフォルダ内のファイル名全てを取得(Excel VBA)

の中で使用しているDir関数。

フォルダやファイル操作では、よく使用するのですが前から疑問がありました。

フォルダの中のファイルを順番に取得・・・

って、何を基準にファイルを選んでいるんだろう・・・。

ファイル名の順番に処理してほしいんだけど・・・Dir関数の中では順番は指定することもできず・・・。

調べたところ、Dir関数で取得するファイルの順番はディスクのフォーマットに準じているそうです。

ファイルシステムが「NTFS」のディスクでは、ファイル名の順番(昇順)

ファイルシステムが「FAT」のディスクでは、ファイルが保存された順番

で処理されるのです。

ファイルシステムってどこで確認するの?

PCをダブルクリックして

システムを調べたいドライブを右クリックー[プロパティ]をクリック

全般タブのファイルシステムをご確認ください。

「NTFS」だとわかっていたら、ファイル名に連番を振っておけば、その順に処理されるので安心ですね♪

【参考】
指定したフォルダ内のファイル名全てを取得(Excel VBA)
変数でよく使われる「buf」「tmp」の意味
フォルダ内のフォルダ名全てをGetAttrを使って「エラー53 ファイルが見つかりません。」を出さずに取得(Excel VBA)
GetAttrとは?「= vbDirectory」ではなく「And vbDirectory」となるビット演算の疑問
フォルダ名だけを取得したい時に出てくる 「.」 と 「..」 とは?
指定したフォルダ内とサブフォルダ内全てのファイル名を取得(Excel VBA)
CreateObject(“Scripting.FileSystemObject”) を使ってサブフォルダを取得
再帰処理とは?フォルダ内とサブフォルダ内全てのファイル名を取得(Excel VBA)
参照渡し「ByRef」と値渡し「ByVal」の違い(Excel VBA)

■スポンサーリンク

■ランキングに参加しています。
↓このブログを気に入っていただけましたら、ポチッとお願いします。
にほんブログ村 IT技術ブログへ
にほんブログ村