Excelで、選択中のセルに表示されているパス内の末端フォルダーを作成するマクロ

試してみる/やってみる
概要

Excelで、選択中のセルに表示されているパス内の末端フォルダーを作成するマクロを作りたい。ただし、その末端のフォルダーの親よりも上にある全ての階層はすでに存在していることが前提となる。作ってみたら、期待通りに動作した。

詳細

やりたいこと

Excelで、選択中のセルに表示されているパス内の末端フォルダーを作成するマクロを作りたい。
本当は複数の階層のフォルダーを一気に作成されるようにしたかったが、それは少し難しいようなので、今回は諦めた。

(想定する動作の例)
Excel のB1セルに、”\localhostC$temptest1″ と表示されているとする。このセルを選択しているときにそのマクロを実行すると、そのPCの中に \localhostC$temptest1 が実際に作成される。ただし、その末端のフォルダーの親よりも上にある全ての階層(\localhostC$temp)はすでに存在していることが前提となる。

2022-06-07 (1).png
環境

Microsoft Excel for Microsoft 365 MSO (バージョン 2205 ビルド 16.0.15225.20172) 64 ビット

やったこと/テスト結果

コーディングまで

・VBEに新たな標準モジュールを作成

・以下のようなコードを書いた。

Public Sub MakeFolder()

‘変数の宣言
Dim TargetFolder As String

‘選択しているセルから値を取得。その値はフォルダーパスであることが前提。
TargetFolder = Selection

‘もし上記のパスが無ければ、そのパスの通りにフォルダーを作る。
If Dir(TargetFolder, vbDirectory) = “” Then
MkDir TargetFolder
End If

End Sub

テスト/結果

・マクロによって作成されるフォルダーを包含する親フォルダーまで(以下)は、予め手動とかで作っておく。

\localhostC$temp

(つまり、C:temp)

・Excel上で、作りたいパスが表示されているセルを選択しておく。

Alt+F8のマクロ一覧から今回作ったマクロ”MakeFolder”を実行したら、期待通り、選択中のセルに書かれたパスの末端フォルダーが新規作成された。

タイトルとURLをコピーしました