ExcelVBA MkDirで指定したパスにフォルダを新しく自動作成する方法

 

ExcelVBA MkDirで定したパスにフォルダを新しく作成することで、ファイルの整理や自動化された出力処理の保存先を準備します。使い方や注意点など、サンプルコードをもとに具体的に解説します。

 

日常業務でExcelを多用し、手動作業を減らしたいと考えている方へ
本サイト参考:Excel VBAで自動化するコードのベースを習得したい方におすすめの記事

 

Excel VBA MkDirでフォルダ作成する利用

以下のようなシーンで利用されます。

1.特定のフォルダ構成を自動的に作成する。

2.日付や条件に基づいて動的にフォルダを作成し、その中にデータやファイルを保存する。

3.プログラム内で複数のレポートやデータを分けて管理するために新しいフォルダを作成する。

使い方

MkDir 関数を使用してフォルダを作成します。

ポイント

1.フォルダの存在確認
作成するフォルダがすでに存在している場合、MkDir はエラーを返します。そのため、事前にフォルダが存在するか確認する必要があります。

2.親フォルダの存在
MkDir は、親フォルダが存在していないと動作しません。必要に応じて親フォルダを事前に作成してください。

3.パスの形式
パスは正確に記述する必要があります(例: "C:\Users\User\Desktop\sourceFile")

4.パーミッション(権限)
作成先フォルダに書き込み権限が必要です。

 

Excel VBA MkDirでフォルダ作成するサンプルコード

基本的な文法や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エキスパート」をご確認ください。