トップ > 資格を活かすには > やってみよう!Excel VBAで業務改善! > 揺るぎない力編: 第10話「ベーシックに再チャレンジ!」1/4 :勉強会は続く

やってみよう!Excel VBAで業務改善! 新たなる挑戦編|第10話 「ベーシックに再チャレンジ!」

勉強会は続く

それからしばらくの間、毎日のように星くんと岬さんは、八木くんのマンションに通いました。
そして八木くんを先生に、二人は着実にVBAのスキルを身につけていったのでした。

「八木さん。ここなんですけど…」 「どれどれ…」 岬さんが、八木くんに質問します。
これももう、星くんには見慣れた光景になっていました。

「(…よかった。最初、あまり乗り気でなかった岬さんも、
今では積極的に勉強会に参加するようになってくれたし…。
八木ともずいぶん、仲良くなったみたいだ)」
星くんは、ほほえみを浮かべながら二人を見つめます。

「…ああ、Dir関数か。
ファイルの存在を確認できる、便利な関数だよ」
「このコードなんですけど…。
どうしてこれで、条件にあてはまるすべてのブックを調べることができるのか、
よくわかんないんですけど?」

「C:\Sample」フォルダに「Book1.xlsx」「Book2.xlsx」「Book3.xlsx」が存在していたとします。
フォルダ内に存在するすべてのブックを調べるには、次のようにします。

Sub Sample13()
    Dim buf As String
    buf = Dir("C:\Sample\*.xlsx")
    Do While buf <> ""
        MsgBox buf
        buf = Dir()
    Loop
End Sub
                                                     < スタンダード公式テキスト P230 >

「Dir関数の引数が"C:\Sample\*.xlsx"だから、まずCドライブのSampleフォルダが対象になるんですよね。
そしてワイルドカードを使って"*.xlsx"と指定しているから、
拡張子がxlsxのすべてのブックの存在を調べるんですよね?」
「そのとおり。
bufには、ワイルドカードに一致したファイル名が返るよ」
「…それはわかるんですが、
Do…Loopステートメントの中の"buf = Dir()"、これって何をしてるんですか?」

一覧にもどる