« 通勤の読書を電子書籍に変えるべきか否か | トップページ | 音のある世界 »

2010年7月26日 (月)

バッチファイル + Excel その1

おはようございます。本日の当番、モーションデザイナーのY.Nです。

以前Excel2000で組んでいたマクロがExcel2007で使えなくなっているのに
気づきました。
マクロの内容は、選択階層以下の全ファイルの作成日付とファイル名をパス付きで
リスト化して出力するというものです。
Excel2000と2007ではVBAのコマンドに互換性のないものがあるのは知っていたので
心配はしていたのですが案の定うまく動きませんでした。
あら、残念。
Excel2000で動いていたマクロを使う予定がある皆様もお気を付けください。

さて、ファイルリストを作成したいという要求は何ら解決してないですね。
マクロの問題点については今度デバッグしてみることにして、ひとまず別の方法で
ファイルリストの作成方法を考えてみます。
なお、今作りたいのは下図みたいに、dotXSIのパスをまとめたリストです。

2010_0723_01

ということでやってみたのが以下です。
1.バッチファイルで特定階層下の情報を取得する
2.Excelに取り込み加工する


細かく説明していきます。

■■1.バッチファイルで特定階層下の情報を取得する
コマンドプロンプトのdirコマンドで情報が取得できます。

dir /s C:\Work\XSI\dotXSI > dir_dotXSI.txt

ただ、この方法で作ったファイルは下図のような感じで
パスの下一行あけてからファイルリストが入るようになっています。

2010_0723_02_2

欲しいリスト形式と違うのでExcelで加工します。


■■2.Excelに取り込み加工する
Excelで加工するといっても一々手作業をしているととんでもなく大変です。
ここでは、Excelの関数などの機能を利用してさっくり加工します。

■2-1 テキストのペースト
 
とりあえず、先ほどバッチファイルを実行して作ったテキストファイルの
 内容をB列にペーストします。


■2-2 関数のペースト
次にA2に下の関数をコピペします
=IF(MID(B2,3,1)=":",MID(B2,2,FIND("の",B2)-3),A1)

すると、下図のように0と表示されると思います。

2010_0723_03

表示させる内容になっています。

これをテキストファイルのペースト部分下端と同じ行までペーストします。


■2-3 オートフィルタを使用
関数が入力されているところを選択した状態でオートフィルタを使用します。
オートフィルタのテキストフィルタで指定の文字で終わるを選択して、
dotXSIと記入します。

2010_0723_04_3
2010_0723_05_2

はい、これで欲しかったやつみたいなリストが完成しました。
2010_0723_06


というわけで、結構簡単にリストできちゃうもんですね。
VBAのチェックはもうちょっと先でいいかなぁ。

|

« 通勤の読書を電子書籍に変えるべきか否か | トップページ | 音のある世界 »

モーションデザイナー」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/217647/48955080

この記事へのトラックバック一覧です: バッチファイル + Excel その1:

« 通勤の読書を電子書籍に変えるべきか否か | トップページ | 音のある世界 »