- ベストアンサー
エクセル表の列を読んで、Windowsのフォルダを自動生成するやり方を教えてください
技術的にできることなのかどうかわかりませんが、できることなら手作業でなく実現したいと思っています。 (1)エクセルの表の列(1列しか使わない)にカナで文字列が入っている。(5000行ぐらい) (2)その文字列をWindowsのフォルダ名にしたい。 (3)エクセル表を読んで、Windowsフォルダを自動的に生成する。 これがもし自動でできるのならば、作業工数が格段に減ります。ご存知の方ぜひ教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Excelのバージョンが97くらいからであれば、Excel VBAというもので簡単に実現できそうだ。 以下のVBAプログラムはExcel2000で実行できた。 これは、自分のシートのA列を、中身が空っぽになるまで巡回し、Cドライブ直下にA列の内容でディレクトリをざくざく作るというものだ。 エラーが発生したら無視して次に進むようにしている。 これを参考に、近くの詳しい人に改造してもらってくれ。 ちなみにこれは、シート自身のモジュールに書き込む。 シートを開いて、ALT+F11を押して、「プロジェクト」中にあるシート名のアイテムをダブルクリックしたらプログラムを書く欄が出てくるのでそこに貼り付けるべし。 Public Sub buildDirectories() Dim rownum As Long On Error Resume Next rownum = 1 Do Until Me.Cells(rownum, "A").Value = "" MkDir "C:\" & Me.Cells(rownum, "A").Value rownum = rownum + 1 Loop End Sub
その他の回答 (2)
- hana-hana3
- ベストアンサー率31% (4940/15541)
No2 です。 訂正と補足 >ChDir path は、削除してください。 また、フォルダ名は ABC は可ですが、ABC\DEF のようにサブフォルダの作成は出来ません。
- hana-hana3
- ベストアンサー率31% (4940/15541)
十分なテストはしていませんが・・・ 大丈夫だと思います。 Sub MakeFol() Dim i As Long Dim TopPath As String Dim FullPath As String TopPath = "C:\Tmp" If Dir(TopPath, vbDirectory) = "" Then MkDir TopPath Else i = MsgBox("作成済みのフォルダです。" & vbLf & "続行しますか?", vbOKCancel) If i = vbCancel Then Exit Sub End If ChDir path For i = 1 To 10000 If Cells(i, 1) <> "" Then FullPath = TopPath & "\" & Cells(i, 1) If Dir(FullPath, vbDirectory) = "" Then MkDir FullPath Else MsgBox FullPath & " 同名のフォルダがあります。" End If Else Exit For End If Next MsgBox "終了しました。" End Sub
お礼
早速のご回答ありがとうございます! 教えていただいたコードはまだ試していませんが、 「作成済み」の処理まで書いていただいて丁寧なコードだなと感心しました。 本当に助かりました! ありがとうございます!
お礼
早速の回答ありがとうございます! 教えていただいたコードで、ばっちり作成できました! フォルダをちまちま手作業で作成する・・なんてバカな事をせずにすみました! 本当にありがとうございます!感謝!