バッチファイル + Excel その1
おはようございます。本日の当番、モーションデザイナーのY.Nです。
以前Excel2000で組んでいたマクロがExcel2007で使えなくなっているのに
気づきました。
マクロの内容は、選択階層以下の全ファイルの作成日付とファイル名をパス付きで
リスト化して出力するというものです。
Excel2000と2007ではVBAのコマンドに互換性のないものがあるのは知っていたので
心配はしていたのですが案の定うまく動きませんでした。
あら、残念。
Excel2000で動いていたマクロを使う予定がある皆様もお気を付けください。
さて、ファイルリストを作成したいという要求は何ら解決してないですね。
マクロの問題点については今度デバッグしてみることにして、ひとまず別の方法で
ファイルリストの作成方法を考えてみます。
なお、今作りたいのは下図みたいに、dotXSIのパスをまとめたリストです。
ということでやってみたのが以下です。
1.バッチファイルで特定階層下の情報を取得する
2.Excelに取り込み加工する
細かく説明していきます。
■■1.バッチファイルで特定階層下の情報を取得する
コマンドプロンプトのdirコマンドで情報が取得できます。
dir /s C:\Work\XSI\dotXSI > dir_dotXSI.txt
ただ、この方法で作ったファイルは下図のような感じで
パスの下一行あけてからファイルリストが入るようになっています。
欲しいリスト形式と違うのでExcelで加工します。
■■2.Excelに取り込み加工する
Excelで加工するといっても一々手作業をしているととんでもなく大変です。
ここでは、Excelの関数などの機能を利用してさっくり加工します。
■2-1 テキストのペースト
とりあえず、先ほどバッチファイルを実行して作ったテキストファイルの
内容をB列にペーストします。
■2-2 関数のペースト
次にA2に下の関数をコピペします
=IF(MID(B2,3,1)=":",MID(B2,2,FIND("の",B2)-3),A1)
すると、下図のように0と表示されると思います。
表示させる内容になっています。
これをテキストファイルのペースト部分下端と同じ行までペーストします。
■2-3 オートフィルタを使用
関数が入力されているところを選択した状態でオートフィルタを使用します。
オートフィルタのテキストフィルタで指定の文字で終わるを選択して、
dotXSIと記入します。
はい、これで欲しかったやつみたいなリストが完成しました。
というわけで、結構簡単にリストできちゃうもんですね。
VBAのチェックはもうちょっと先でいいかなぁ。
| 固定リンク
「モーションデザイナー」カテゴリの記事
- 見直してみる(2012.02.10)
- 温故知新(2012.02.09)
- ICEを使ってみる 第4回 プロジェクト格子点 境界抽出(2012.02.08)
- 凍み豆腐は硬いんでしょう?(2011.11.16)
- 準備と計画(2011.11.15)












コメント