超簡単 フォルダ一発作成

wp-datacare

おススメ フォルダ作成の方法をご紹介します。
階層がいくつも分かれていても超簡単に作成する方法があります。

やり方は次のとおりです。

①以下のコードをコピーします。(32bit 64bit 両対応)

Declare PtrSafe Function SHCreateDirectoryEx Lib “shell32” Alias “SHCreateDirectoryExA” (ByVal hwnd As LongPtr, ByVal pszPath As String, ByVal psa As LongPtr) As Long

②標準モジュールの Option Explicit の次の行に貼り付けます。

※このコードは、ブック内に一つあれば大丈夫です。複数の標準モジュールにそれぞれ貼り付ける必要はありません。

③以下のコードを使います

Call SHCreateDirectoryEx(0&, パス名, 0&)

例として ”G:\フォルダA\フォルダB\フォルダC” のフォルダを作成します

Sub フォルダ作成()

 Call SHCreateDirectoryEx(0&, "G:\フォルダA\フォルダB\フォルダC", 0&)

End Sub

以下のようになります。

④G:\フォルダA\フォルダB\フォルダC の階層のフォルダが完成しました。

この方法の良いところは、作成しようとしたフォルダが既に作成済の場合でもエラーにならない事です。

Googleで「エクセル VBA フォルダ作成」と検索すると以下のように表示されます。

多くで MkDirを使った方法が案内されます。
しかし、MkDirを使う方法はお奨めしません。

理由は、既に存在したらエラーなります。
また G:\フォルダA\フォルダB の場合 フォルダB を作成する時に フォルダA が存在しないとエラーになります。

G:\フォルダA\フォルダB\フォルダC のフォルダを作る時には以下のようになります。

しかし、既にフォルダが作成済みの場合エラーになります。
そこでエラー回避するコードを追加すると次のようになります。

MkDir は面倒です。
今回ご紹介した一発作成の方法を活用して下さい。

記事URLをコピーしました