こんなあなたにおすすめ
・Excel VBAでフォルダを作成したい MkDir関数
・Excel VBAでフォルダを作成したい FileSystemObject
Excel VBAでフォルダを作成したいということが多いと思います。
フォルダを作れるようになるとファイルの管理がしやすくなります。
今回は、Excel VBAでフォルダを作成する方法について解説します。
Excel VBAでフォルダを作成したい MkDir関数
MkDir関数を使うことで、指定したパスのところに簡単にフォルダを作成することができます。
MkDir "フォルダを作成したいパス\作成したいフォルダ名"
新規フォルダを作成
C:\Excel VBA\にSample Folderを作ってみましょう。
Sub test1() MkDir "C:\Excel VBA\Sample Folder" 'フォルダを作成する End Sub
【実行前】
【実行後】
フォルダが重複した場合は、フォルダを作成しないようにする
新規に作成しようとしたフォルダが既に存在しているとエラーが発生します。
エラーが発生しないように、指定したフォルダの存在を確認してからフォルダを作成するようにしてみましょう。
Sub test2() Dim FolderName As String '作成したいフォルダパスを格納する FolderName = "C:\Excel VBA\Sample Folder" '指定したフォルダが存在しない場合にフォルダを作成する If Dir(FolderName, vbDirectory) = "" Then MkDir FolderName Else MsgBox "指定したフォルダは既に存在します。" 'メッセージボックスを表示する End If End Sub
【既にフォルダが存在する場合の実行結果】
Dir関数については、下記の記事で解説していますので、ご参照ください。
>>【ExcelVBA】ファイルとフォルダの存在を確認する方法 Dir関数
MsgBox関数については、下記の記事で解説していますので、ご参照ください。
>>【ExcelVBA】メッセージボックスの使い方 MsgBox
Excel VBAでフォルダを作成したい FileSystemObject
新規フォルダを作成
C:\Excel VBA\にSample Folderを作ってみましょう。
Sub test3() Dim FolderObject As Object 'オブジェクト型の変数を定義する Dim FolderName As String '作成したいフォルダパスを格納する Set FolderObject = CreateObject("Scripting.FileSystemObject") 'オブジェクト型の変数にFileSystemObjectを設定する FolderName = "C:\Excel VBA\Sample Folder" 'フォルダ名を指定する FolderObject.CreateFolder FolderName フォルダを作成する Set FolderObject = Nothing オブジェクトを解放する End Sub
【実行前】
【実行後】
フォルダが重複した場合は、フォルダを作成しないようにする
新規に作成しようとしたフォルダが既に存在しているとエラーが発生します。
エラーが発生しないように、指定したフォルダの存在を確認してからフォルダを作成するようにしてみましょう。
Sub test4() Dim FolderObject As Object 'オブジェクト型の変数を定義する Dim FolderName As String '作成したいフォルダパスを格納する Set FolderObject = CreateObject("Scripting.FileSystemObject") 'オブジェクト型の変数にFileSystemObjectを設定する FolderName = "C:\Excel VBA\Sample Folder" 'フォルダ名を指定する If FolderObject.FolderExists(FolderName) Then 'フォルダの存在を確認する MsgBox "指定したフォルダは既に存在します。" Else FolderObject.CreateFolder FolderName 'フォルダを作成する End If Set FolderObject = Nothing 'オブジェクトを解放する End Sub
【既にフォルダが存在する場合の実行結果】
まとめ
ここまでフォルダの作成方法について解説しました。
Excel VBAには、2通りのフォルダ作成方法があります。
先にも解説した通り、いずれの方法もフォルダの存在確認は必要です。
忘れないように注意しましょう。
Dir関数については、下記の記事で解説していますので、ご参照ください。
>>【ExcelVBA】ファイルとフォルダの存在を確認する方法 Dir関数
MsgBox関数については、下記の記事で解説していますので、ご参照ください。
>>【ExcelVBA】メッセージボックスの使い方 MsgBox
Excelで作業効率をアップしたい方は、下記の記事もご参照ください。
>>Excelのショートカット一覧 覚えて作業効率アップ!!
>>Excelで覚えておくべき関数 作業効率アップ間違いなし
オンラインスクール受講者数No.1!
・自宅にいながらオンライン完結で勉強できる
➡スクールへの移動時間を削減するため、効率的に学習可能!
・受講生に1人ずつ現役のプロのパーソナルメンターがつく
➡分からないことがわかるまで徹底的にメンターに質問可能!
・チャットで質問すればすぐに回答が返ってくる
➡レスポンスが速いから、わからないことをその場で解決!
・オリジナルサービスやオリジナルアプリなどの開発までサポート
➡就職、転職のときに役立つポートフォリオを開発可能!
無料で体験できるので、まずはお試し
>>TechAcademyの無料体験はこちら