VBAにもフォルダの変更関数やファイルの存在を確認するコマンドはある。Dirなどだ。しかし、DOSよりもバリエーションは少ない。

VBAからDOSをコールすることも可能だ。しかし、処理は非同期であり、同期させるには一工夫必要であるうえ、DOS窓が現れたり、DOS窓を隠すと処理が極端に遅くなるケースがあるなど、気になる場合もある。

そこで、VBScriptをVBAの中に取り込んで使ってみるのはだろう?DOSと同等のファイル/フォルダのコントロールができるうえ、VBAの内部で使えるので、VBAの処理と同期でき、余計な窓も開かないからだ。



上記のように、Microsoft Scripting Runtime にチェックを入れれば利用できるようになる。
使い方は Create Object するのではなく、以下のように定義する。

Dim Fs As Scripting.FileSystemObject

これで利用できる。
なお、文法はVBScriptと同じなので、そちらを調べてみるといいだろう。