更新日:、 作成日:

VBA フォルダの作成

はじめに

Excel VBA マクロでフォルダを作成する方法を紹介します。

CreateFolder 関数を使ってフォルダを作成できます。

絶対パスと相対パスのどちらのパスも使用できます。

ファイルを作成するには「ファイルの作成」をご覧ください。

FileSystemObject について

ここでは VBA の標準の関数より便利な FileSystemObject を使った方法を紹介しています。基本的な使い方については「FileSystemObject ファイル操作の基礎」をご覧ください。

コードを見やすくするため FileSystemObject を参照設定しています。また、エラー処理は行っていません。

フォルダの作成

Dim fso As FileSystemObject
Set fso = New FileSystemObject ' インスタンス化

Dim fl As Folder
Set fl = fso.CreateFolder("D:\TipsFolder") ' 絶対パス
Set fl = fso.CreateFolder("TipsFolder")    ' 相対パス

' 後始末
Set fso = Nothing

fso.CreateFolder 関数で指定したパスのフォルダを作成します。戻り値で Folder オブジェクトを取得します。既にフォルダが存在するときはエラーが発生します。

パスには絶対パスと相対パスを使えます。絶対パスとはドライブから指定した完全なパスのことです。不具合を発生させないためにも、通常は絶対パスを使用します。

相対パスはカレントディレクトリの場所を基準にしたパスのことです。初期状態では Excel を保存する既定の場所がカレントディレクトリになっています。しかし、このパスは別の操作によって変更される可能性があるため、意図した場所にフォルダが作成されないことがあります。