• 締切済み

エクセルを使ってリネームしようとして ~ファイルの並び方のルールで~

CGのファイル管理をしたいのですが、 A:部屋 B:廊下 C:窓 D:その他 建物名 入口 建物名 A(1F)~(5F) 建物名 A(B1F)~(B3F) 建物名 B 建物名 B(詳細) 建物名 出口 など 場所によってAのフロアが地下がなかったり深かったり地上階がもっと高かったりします。 また、入口(1F、B1F、B2F)だったり詳細はあったりなかったりします。 これらを 01 建物名 入口(B2F) 02 建物名 入口(B1F) 03 建物名 入口(1F) 04 建物名 A(B2F) 05 建物名 A(B1F) 06 建物名 B 07 建物名 B(詳細) ~ その他 ~ 40 建物名 出口 となるようにリネームしたいのですが、 何か良い方法は無いでしょうか? 一度エクセル2003(OSはWinXP)で、 フォルダ内のファイル名取得 →上記のルールで並び替え →頭に連番を付与 →リネーム と考えたのですが、並び替えの段階で詰まってしまいました。 オプションのユーザー設定リストには 「建物名 入口(B2F).jpg」などと全て入力しなければならないようで フロアの数が地下、地上階がどれだけあるか建物によってぜんぜん違うため、 B10F~50Fなど全て入力しておくのは フロアの種類は決まっているとはいえ少し現実的ではないような気がします。 何かうまい方法、条件にあったリネームツールをご存知の方教えてください。 ヨロシクお願い致します。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.3

ファイルの名前を付け替えようと言うことかな。 大分類・中分類などが質問ではあいまいではないですか。 A:部屋 B:廊下 C:窓 D:その他 だけ記号になっていて入り口は感じですか。 入り口は部屋にあるのでは。 共用の部分もあるだろうし。 概念分類がしっかりしてないと分類したり、命名してもリネームする意味が無いと思うが。 ーーー 何が目的か? >建物名 A(1F)~(5F) は各階ごとにシートを分割し、各階の部屋として分けて、各々に命名するのか。 ーー 読者は(他人は)質問者のニーズなんか、普通出くわして無いですよ。 だから丁寧に説明しないとわからない。

  • Masa2072
  • ベストアンサー率51% (94/182)
回答No.2

VBAでやるなら 1、ファイル名を取得し、A列に格納する 2、ファイル名を分解し、それぞれB,C,D列に格納  建物名 入口(B2F)なら空白の前、空白から(まで、()の中  instr関数で"("や" "などの指定の文字の位置を求められる  "("や" "は全角もしくは半角で予め統一しておいたほうが良い(ファイル名を取得した直後にStrConv関数で) 3、格納した文字列を数値に変換  入口、A~Z、出口を数値に変換する  入口は0、A~Zは1~26(例えばBなら ASC(StrConv("B",vbNarrow)) - ASC("A") + 1で2になる)、出口は27に変換  フロアは文字列がなければ0、詳細なら1000などの通常ではありえない大きい数、その他は、数字を取り出し、文字列の先頭がBならー1を掛ける  この部分がA~Zではなく普通の文字列だとすれば、予め対応表を作っておくという方法もあります。 4、E列にFomulaで以下の式を格納  =Left("000" & ROW(), 3) & " " & OFFSET("A1", ROW() -1, 0) これをファイルがなくなるまで繰り返し、最後に、B,C,D列でソートする 実際にソースを書くのが面倒だったので、考え方のみですが

回答No.1

的外れだったら申し訳ありませんが… リネームツールです。↓ http://www.vector.co.jp/soft/win95/util/se397494.html

関連するQ&A