あなたが元気であることを願っています。
Excel と vba を使用して一括フォルダー クリエーターを作成しようとしています。普段は Web ベースの言語に集中しているため、VBA を使用するのは初めてなので、事前に知識が不足していることをお許しください。私はすでにいくつかのコードを持っていますが、それは私が苦労している最後の仕上げをしているだけです。
現在、ユーザーは特定のセルでディレクトリを指定し、別のセルで親ファイルの名前を指定します。ボタンをクリックすると、マクロは親ファイル セルのディレクトリと名前を使用して親フォルダーを作成します。次に、マクロの実行時に回答者が選択したセルの値を使用して、サブ フォルダーを作成します。
私は現在、サブフォルダー内にサブフォルダー (単に孫と呼びます) を作成するプロジェクトの次の段階に取り組んでいます。すべてのサブフォルダが同じ孫を持つ場合、これは簡単ですが、そうではありません。私がやりたいことは、サブフォルダーの名前を定義する各セルの右側にある 3 つの値を取得し、それらを使用して孫を作成することですが、現在使用しているコードで「無効な修飾子」メッセージが表示されます(下記参照)。
BasePath = Range("folder_path")
'Check if the project folder already exists and if so raise and error and exit
If Dir(BasePath, vbDirectory) <> "" Then
MsgBox BasePath & " already exists", , "Error"
Else
'Create the project folder
MkDir BasePath
MsgBox "Parent folder creation complete"
'Loop through the 1st tier subfolders and create them
For Each c In ActiveWindow.RangeSelection.Cells
'create new folder path
NewFolder = BasePath & "\" & c.Value
'create folder
If fs.folderexists(NewFolder) Then
'do nothing
Else
MkDir NewFolder
End If
Next c
'Create GrandChildren
For Each d In ActiveWindow.RangeSelection.Cells
'Offset the selection to the right
For Each e In d.Offset(0, 1).Resize(1, 3).Cells
Test = e.Value
GrandChild = BasePath & "\" & d.Value & "\" & Test
If fs.folderexists(GrandChild) Then
'do nothing
Else
MkDir GrandChild
End If
Next e
Next d
MsgBox "Sub-folder creation complete"
End If
End Sub
さらに情報が必要な場合は、お知らせください。
乾杯、
ジェイソン