和風スパゲティのレシピ

日本語でコーディングするExcelVBA

FileSystemObject

FileSystemObject.FileExistsメソッド

FileSystemObjectにてファイルの存在を判定する、FileExistsメソッドについて解説します。If FSO.FileExists(判定したいファイルのパス) Thenが基本形です。返り値もBooleanとわかりやすい仕様ですが、Dir関数と違ってワイルドカードは使えません。

FileSystemObject入門-FSOって何が便利なの?

ファイル・フォルダを扱うFileSystemObjectについて、何が便利で、何のために使うオブジェクトなのかを解説します。FSOとはファイル管理の便利ツール集であり、「フォルダやファイルをオブジェクトとして扱うことができる」ことが特長です。

FileSystemObject.FolderExistsメソッド

FileSystemObjectにてフォルダの存在を判定する、FolderExistsメソッドについて解説します。If FSO.FolderExists(判定したいフォルダのパス) Thenが基本形です。引数もフォルダパスひとつで、返り値もBooleanと、仕様がわかりやすいメソッドです。

深い階層のフォルダ作成を再帰関数で行う

MkDirステートメントやFileSystemObjectのCreateFolderメソッドは、作りたいフォルダの親フォルダがないとエラーになります。この対策は[\]でSplitしてからのForEach文がストレートですが、再帰関数を使用した方法もあるため紹介します。

FileSystemObject.CreateFolderメソッド

FileSystemObjectにてフォルダを作成する、CreateFolderメソッドについて解説します。作りたいフォルダのパスを渡すとそのフォルダを作成してるメソッドで、通常実行する分には、MkDirステートメントとエラー含めてほとんど同じ動きをします。

MkDirとFSO.CreateFolderの違い

フォルダを作成するときに使用する、MkDirステートメントとFileSystemObject.CreateFolderメソッドの違いを解説します。両者はほとんど同じものと思ってOKで、引数、省略時のカレントフォルダ指定、エラーの発生条件も全く同じ仕様です。

Dirループ中は別関数であっても他のDirは使えない

知らずに落ちると抜け出せなくなるVBAの落とし穴です。Dir関数が途中で止まる、逆に無限ループする、「プロシージャの呼び出し、または引数が不正です。」エラーを出す、あたりにお悩みの方は、この落とし穴に落ちていないかご確認ください。