TOP >いっきに作成9
***********************************************************************************************
いっきに作成9
Copyright(C) 2017 by しげるがもげる
***********************************************************************************************
◆概要
エクセルのワークシートに書かれた一覧表にしたがって、
親フォルダの中に、階層構造を持ったサブフォルダを,大量に作るツールです。
また逆に,親フォルダにあるサブフォルダの階層構造を書き出すこともできます。
一覧表は,1つのセルに対して1つのフォルダ名なので,追加や削除などの編集が簡単にできます。
階層構造の書き出しについては,全部を書き出すこともできますし,書き出す階層の深さを制限することもできます。
フォルダ作成で,親フォルダが存在しないときは,新規で作成するかどうか選択できます。
◆開発環境
Excel2010 + Windows10
◆圧縮ファイルに含まれるファイル(この作品のダウンロード)
・Ikkini_Create_9..xlsm いっきに作成9
・38_Ikkini_Create.html マニュアル
・38_Ikkini_Create_hiwa.html 制作秘話
・38_Ikkini.Create_renban.html 連番の作り方
◆操作方法
1.ファイルを開くと,上のようなウィンドウが開きます。説明を読んだら,OKを押して閉じてください。
2.フォルダ構造を書き出す時
・右クリックメニューの下段に【フォルダ構造書き出し】があるので,それをクリックします。
・ウィンドウが開くので,書き出したい親フォルダをクリックして,OKを押します。
・「階層の深さ制限」は,とりあえず,0のままOKを押します。(全部のフォルダを書き出す)
・『完了』のウィンドウが出たら,処理は終了です。
・進行状況が,エクセル下段のステータスバーに表示されます。
下の例の場合,Kドライブのtest\test2という親フォルダの中にある,サブフォルダ一覧を書き出しました。
ステータスバーに ≪検索フォルダ数45≫ と出ています。(正確でない時もあるので参考程度にしてください。)
ステータスバーは,途中経過も表示しています。
完了メッセージの隣の 0.359375 sec は,処理にかかった秒数です。(これも参考程度にしてください。)
一度,こうやって書き出してみると,仕組みがつかみやすいと思います。
A1は,親フォルダ名です。
A2は,「階層の深さ制限」の記録です。(この場合,制限無しで実行したということです。)
B列・C列・D列と右に行くほど,階層が深くなっていきます。
処理にあまりにも時間がかかって,途中で中止したい時は,右クリックしてもう一度,メニューを選択してください。
また,『全部書き出すとフォルダ数が多過ぎる。』,『そんなに詳しくはいらない。』などの場合は,
「階層の深さ制限」で適当な深さを入力してください。(3くらいが適当)
実際の動作の違いは,以下のようになります。
さきほどの親フォルダは,Kドライブのtest\test2 でしたが,今度は1つ上のtest で書き出したフォルダ一覧です。
▲階層の深さ制限(0)・・・全てのフォルダを書き出します。 | ▲階層の深さ制限(2)・・・深さを2つめまでに制限しました。 |
3.新規フォルダを作成する時
ワークシートに,階層構造を考えて作りたいフォルダ名を書き込みます。
形式は,「フォルダ構造の書き出し」で出力したものと同じです。
A1は,親フォルダです。
(ここに親フォルダ名を記入しますが,何も書かなくても後で設定できます。)
B2から作成したいフォルダ名を記入します。
B,C,Dと右に行くほど,階層が深くなっていきます。
セルの書式設定は,文字列になっています。数字でも半角と全角の区別があります。また,01などもそのまま入力できます。
親フォルダの階層が深い時は,K:\test\test2 のように \ を間に挟んで書きます。
(親フォルダが存在しないときは,新規で作成します。)
準備ができたら,いよいよ作成です。
・右クリックメニューの下段に【新規フォルダ作成】があるので,それをクリックします。
・「A1に記入してある親フォルダを使うか」聞いてくるので,選んでください。
使う時は,「はい」 別の親フォルダを選択したい時は「いいえ」 中断したい時は「キャンセル」
・A1に記入してある親フォルダが存在しないときは,新規で作成するか聞いてくるので,選んで下さい。
「いいえ」をクリックすると,処理は中断されます。
・「はい」をクリックすると,新規で親フォルダを作成します。
・『完了』のウィンドウが出たら,処理は終了です。
・進行状況が,エクセル下段のステータスバーに表示されます。
処理にあまりにも時間がかかって,途中で中止したい時は,右クリックしてもう一度,メニューを選択してください。
A | B | C | D | E | F | G | 作成されるフォルダ | 実際,下のような構造で作られます。 | |
1 | K:\test\test2 | ||||||||
2 | 日本 | K:\test\test2\日本 | |||||||
3 | 関東 | K:\test\test2\日本\関東 | |||||||
4 | 東京都 | K:\test\test2\日本\関東\東京都 | |||||||
5 | 千代田区 | K:\test\test2\日本\関東\東京都\千代田区 | |||||||
6 | 宮内庁 | K:\test\test2\日本\関東\東京都\千代田区\宮内庁 | |||||||
7 | 新宿区 | K:\test\test2\日本\関東\東京都\新宿区 | |||||||
8 | 高田馬場駅 | K:\test\test2\日本\関東\東京都\新宿区\高田馬場駅 | |||||||
9 | 渋谷区 | K:\test\test2\日本\関東\東京都\渋谷区 | |||||||
10 | 代々木公園 | K:\test\test2\日本\関東\東京都\渋谷区\代々木公園 | |||||||
11 | 表参道 | K:\test\test2\日本\関東\東京都\渋谷区\表参道 | |||||||
12 | 1 | K:\test\test2\日本\関東\東京都\渋谷区\表参道\1 | |||||||
13 | 2 | K:\test\test2\日本\関東\東京都\渋谷区\表参道\2 | |||||||
14 | 3 | K:\test\test2\日本\関東\東京都\渋谷区\表参道\3 | |||||||
15 | 4 | K:\test\test2\日本\関東\東京都\渋谷区\表参道\4 | |||||||
16 | 5 | K:\test\test2\日本\関東\東京都\渋谷区\表参道\5 | |||||||
17 | 関西 | K:\test\test2\日本\関西 | |||||||
18 | 大阪府 | K:\test\test2\日本\関西\大阪府 | |||||||
19 | 九州 | K:\test\test2\日本\九州 | |||||||
20 | 長崎 | K:\test\test2\日本\九州\長崎 | |||||||
21 | 鹿児島 | K:\test\test2\日本\九州\鹿児島 |
・ワークシートは,単なる白紙のシート(セルの書式設定は文字列にしてあります)で,右にいくと階層が深くなるように表現しています。
・ワークシート名は,自分でわかりやすいように書き換えてください。
・全角と半角を区別するようになっていますが,無用な混乱を避けるために,半角に統一して使った方がよいと思います。
・当たり前のことですが,新規フォルダを作成する時,使用できない文字は使ってはいけません。(動作の保証はありません。)
次の半角文字は,使用禁止です。 ¥ / : * ? ” < > |
4.効率的な使い方
(1)フォルダ構造を入力するのが面倒な時
使いたいデータをコピーして,ワークシートに貼り付けます。そして,フォルダ構造を整理します。
あとは,実行すればOKです。
(2)前のフォルダ構造を,今回も利用したい時
既に同じようなフォルダ構造がある場合には,それをまず書き出して利用すると便利です。
やりかたは,以下の通りです。
@前に使っていたフォルダ構造を書き出します。
A親フォルダが書いてあるA1を書き直します。
例えば,K:\test\test2 を H:\ に変更します。
Bあとは,【新規フォルダの作成】をクリックすればOKです。
(3)前のフォルダ構造のワークシートを残して,さらに別のフォルダ構造で作りたい時
ワークシートの新規作成をして,新しくワークシートを作ります。
そして,そこにフォルダ構造を書き込んで,あとは実行すればOKです。
右クリックでメニューを呼び出す仕様なので,どのワークシートでも実行できます。
(アクティブになっているワークシートで実行します。)
新規のワークシートもセルの書式は文字列になっています。
ワークシートが増えてくるので,ワークシート名を適当に書き換えるといいと思います。
(4)フォルダ構造を整理する時
フォルダ構造を書き出して,それを整理するとき,基本は行で削除します。
ですが,結構手間なので,次のようにすると便利です。
@セルのデータをDELETEキーで削除する。
A右クリックメニューの「空行・空列の削除」を実行すると,無駄な行や列を削除してくれます。
(5)連番のフォルダ名を作りたい時
こちらのページ(いっきに作成9 連番の作り方)を見てください。
≪基本的なこと≫
ワークシートは,単なるエクセルのシートなので,行や列の削除や追加をしてもかまいません。
ただし,セルの書式設定は,文字列に変更してあります。
5.その他
・『完了』ウィンドウが終わるまでは,処理が終わっていません。他の作業に進むことはやめてください。
・ステータスバーに,「検索フォルダ数:」 または「作成フォルダ数:」が表示されるので,処理の進み具合を知る目安にしてください。
・サブフォルダが余りにも多いと,処理に時間がかかります。処理を中断したい時は,もう一度,同じメニューをクリックしてください。
・システムフォルダを扱うときは,自己責任でお願いします。
◆履歴
Ver 9a マニュアルに,連番の作り方を追加しました。
Ver 9 「フォルダ構造を書き出す」で,「階層の深さ制限」オプションを追加。これにより書き出す深さを制限し,実行速度を上げることができます。
メニューに「空行・空列の削除」を追加。整形した後,実行することで,無駄な行や列を削除します。
フォルダ構造の書き出しで,ステータスバーの検索フォルダ数の表示が1多かったのを,修正。
Ver 80 親フォルダの有無を調べたときのメッセージが正しくなかったのを修正しました。(フォルダ作成の処理には影響ありませんでした。)
Ver 79 フォルダ構造書き出しが,見本のようになってなかったので,修正しました。また,余分なヌルデータの書き込みをしないようにしました。
空白行や空白列は自動で削除するようにしました。親フォルダの新規作成は確認するようにしました。
Ver 78 新規作成したワークシートのセルも,自動で文字列に変更するようにしました。
Ver 77 A1に親フォルダ名が書かれている時,そのまま実行するか親フォルダを選択するか,選べるようにしました。
Ver 76 NASの共有フォルダで処理できない場合があったので,それを修正しました。正常に表示できるようにもしました。
Ver 74 ドライブが存在しない時,正常に表示できてなかったのを修正しました。
Ver 73 もう一度,最初から作り直しました。(処理の見直しなど) CSVファイルの扱いを廃止しました。
Ver 6_1 サブフォルダの拾い出しをして一覧表を作るとき、うまく作れないバグを修正しました。
Ver 6 親フォルダの下にある、サブフォルダを拾い出し、一覧にするボタンを作りました。
Ver 2 一覧表を、CSVファイルで保存したり、読み込んだりできるようにしました。
一覧表の中で、同じ名前が下に続く場合は、省略できるようにしました。
Ver 1 公開
◆注意事項
マクロの実行を許可してください。そうしないと、動きません。
◆著作権等
この作品の著作権は、しげるがもげるにあります。配布は自由ですが、元のファイルを変えることは
禁止します。
◆免責
この作品の使用に際して発生したいかなる損害に対しても、作者は一切の責任を負いません。
自己責任にてご使用ください。
◆ウィルスチェック
カスペルスキー インターネットセキュリティーでウィルスチェックしています。
◆作者のページ
しげるがもげる http://sigerugamogeru.style.coocan.jp/