ExcelVBA MkDirで定したパスにフォルダを新しく作成することで、ファイルの整理や自動化された出力処理の保存先を準備します。使い方や注意点など、サンプルコードをもとに具体的に解説します。
日常業務でExcelを多用し、手動作業を減らしたいと考えている方へ
本サイト参考:Excel VBAで自動化するコードのベースを習得したい方におすすめの記事
以下のようなシーンで利用されます。
1.特定のフォルダ構成を自動的に作成する。
2.日付や条件に基づいて動的にフォルダを作成し、その中にデータやファイルを保存する。
3.プログラム内で複数のレポートやデータを分けて管理するために新しいフォルダを作成する。
MkDir 関数を使用してフォルダを作成します。
1.フォルダの存在確認
作成するフォルダがすでに存在している場合、MkDir はエラーを返します。そのため、事前にフォルダが存在するか確認する必要があります。
2.親フォルダの存在
MkDir は、親フォルダが存在していないと動作しません。必要に応じて親フォルダを事前に作成してください。
3.パスの形式
パスは正確に記述する必要があります(例: "C:\Users\User\Desktop\sourceFile")
4.パーミッション(権限)
作成先フォルダに書き込み権限が必要です。
基本的な文法やVBAの実践的な応用までを網羅的に学習できる方法は、ExcelVBAエキスパート資格の取得を目指すこと。学習を通して、より効率的に、着実に基礎を身につけることが可能です。資格取得すれば、スキルの証明にもなり、職場での評価アップにも繋がるため、勉強を進めるモチベーションにもなります。
本サイト参考:マクロ知識がないから「何から学べば良いのかわからない」という人におすすめの記事
Option Explicit
Sub CreateFolder()
Dim folderPath As String
folderPath = "C:\Users\User\Desktop\sourceFilemake" ' 作成したいフォルダのパス
' フォルダが存在しない場合のみ作成
If Dir(folderPath, vbDirectory) = "" Then
MkDir folderPath
MsgBox "フォルダを作成しました: " & folderPath, vbInformation
Else
MsgBox "フォルダはすでに存在しています: " & folderPath, vbExclamation
End If
End Sub
1.folderPathの指定
作成したいフォルダのパスを指定します。
2.Dir関数
指定したパスが存在するか確認します。
3.MkDir関数
指定したパスにフォルダを作成します。
4.フォルダの作成が成功した場合はメッセージボックスで通知します。
今日の日付を使用して、動的にフォルダを作成する
Option Explicit
Sub CreateFolderWithDate()
Dim folderPath As String
' 今日の日付をフォルダ名にする
folderPath = "C:\Users\User\Desktop\sourceFile\" & Format(Date, "yyyy-mm-dd")
' フォルダが存在しない場合のみ作成
If Dir(folderPath, vbDirectory) = "" Then
MkDir folderPath
MsgBox "フォルダを作成しました: " & folderPath, vbInformation
Else
MsgBox "フォルダはすでに存在しています: " & folderPath, vbExclamation
End If
End Sub
この機能を活用すれば、作業の効率化やファイルの整理が大幅に向上します。
操作方法:1.●●●をクリック(スマホはタップ)で答え表示。2.答えをクリック(スマホはタップ)で●●●表示。1⇔2を繰り返すことで、記憶を定着できます。
1.folderPathの指定
●●●したいフォルダのパスを指定します。
2.●●●関数
指定したパスが存在するか確認します。
3.●●●関数
指定したパスにフォルダを作成します。
4.フォルダの作成が成功した場合はメッセージボックスで通知します。
Excel VBAで自動化するコードのベースを習得したい方におすすめ!
VBAエキスパート資格は、日常業務でExcelを多用し、手動作業を減らしたいと考えている方には価値あるものです。
ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。
ExcelVBAエキスパートスタンダード
ExcelVBAの開発を仕事にする人が対象の問題集です。
Excel VBA エキスパート資格について知りたい方は、下記「Excel VBAスキルアップを目指すなら知っておきたいVBAエキスパート」をご確認ください。