Dir関数が返すもの
「いいところに気がついたね。
ワイルドカードを指定してDir関数を実行すると、条件によっては複数のファイル名が返ることがある。
そのときはファイル名の数だけ、Dir関数を繰り返し、ファイル名を取得する必要があるんだ。
"Dir()"と引数を省略すると、前回に指定したワイルドカードが指定されたものとみなされる。
そして、すでに返したファイル名とは別のファイル名を返してくれるんだ。
これを繰り返し、すべてのファイル名を返すと、Dir関数は空の文字列を返す。
だからDo…Loopステートメントの繰り返し条件を、While buf <> ""と、
変数bufが空の文字列でない間繰り返せ、としているんだ」
「な~る。"Dir()"の役割が理解できました。
それにワイルドカードを指定したときは、いくつファイル名が返るかわからないから、
Do…Loopステートメントで、常に判定しながら繰り返す必要があったんですね!」
Dir関数の引数に指定するファイル名には、ワイルドカードを指定できます。
指定できるワイルドカードは次の通りです。
文字 | 説明 | 例 | 結果 |
---|---|---|---|
* | 任意の数の文字 | B*.xlsx | Book1.xlsx、B01.xlsxなど |
? | 任意の1文字 | Book?.xlsx | Book1.xlsx、Book2.xlsxなど |
「うん、そのとおり。
岬さんは、本当に飲み込みが早いなあ…感心するよ」