Dir関数が取得するファイルの順番(Excel VBA)

先日お話しした

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

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

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

ファイル取得の順番

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

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

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

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

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

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

で処理されるのです。

ファイルシステムの確認方法

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

PCをダブルクリックして

Dir関数が取得するファイルの順番(Excel VBA)

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

Dir関数が取得するファイルの順番(Excel VBA)

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

Dir関数が取得するファイルの順番(Excel VBA)

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

【参考】

指定したフォルダ内のファイル名全てを取得(Excel VBA)
変数でよく使われる「buf」「tmp」の意味
Dir関数が取得するファイルの順番
指定したフォルダ内のフォルダ名全てをGetAttrを使って「エラー53 ファイルが見つかりません。」を出さずに取得(Excel VBA)
GetAttrとは?「= vbDirectory」ではなく「And vbDirectory」となるビット演算の疑問
フォルダ名だけを取得したい時に出てくる 「.」 と 「..」 とは?
指定したフォルダ内とサブフォルダ内全てのファイル名を取得(Excel VBA)
CreateObject(“Scripting.FileSystemObject”) を使ってサブフォルダを取得
再帰処理とは?フォルダ内とサブフォルダ内全てのファイル名を取得(Excel VBA)
指定したフォルダ内のサブフォルダのフォルダ名を全部取得(Excel VBA)
再帰処理とは?フォルダ内のサブフォルダのフォルダ名を全部取得(Excel VBA)
参照渡し「ByRef」と値渡し「ByVal」の違い(Excel VBA)
ファイルのフルパスからファイル名のみを取得 InStrRev関数(Excel VBA)
指定したフォルダの全ての階層のフォルダ名・サブフォルダ名・ファイル名を取得(Excel VBA)
FileSystemObjectとは?CreateObject 関数 FolderExists・GetFolderの使い方
FileSystemObject CreateObject関数を使う方法・ 参照設定を使う方法 違いを理解してエラー防止
再帰処理とは?指定したフォルダの全ての階層のフォルダ名・サブフォルダ名・ファイル名を取得(Excel VBA)
ファイルのフルパスからファイル名のみを取得 Split関数(Excel VBA)
Callステートメントとは 引数 括弧()の使い方(Excel VBA)
指定したフォルダ内から「特定の文字を含まないファイル名」を取得(Excel VBA)
ワイルドカードとは。使い方いろいろ。(Excel)
Dir関数の使い方。ファイル名やフォルダ名の取得方法。(Excel VBA)
指定したフォルダのファイル名を取得し、そのファイル名を一括で変換(Excel VBA)
Excel起動時に「コンパイルエラー」。64ビット システムで Declareステートメントに、PtrSafe属性を設定(Excel VBA )
「ファイルを開く」ダイアログボックス から ファイル名を取得(Excel VBA)
「ファイルを開く」ダイアログボックス から 複数 ファイル名を取得(Excel VBA)
指定フォルダ内のサブフォルダ全てをフォルダ構成のみ(空フォルダ)を別フォルダにコピー(Excel VBA)
再帰処理とは?指定フォルダ内のサブフォルダ全てをフォルダ構成のみ(空フォルダ)を別フォルダにコピー(Excel VBA)

■■■スポンサーリンク■■■