2010年02月09日

excelのデータを固定長のテキストファイルに

という依頼。
デリミタ(,)を入れたcsvだったら簡単にできるのに…
他のシステムへ取り込むのにエクセルでデータが来る。
取り込み側は固定長。

数字だけなら、text関数を使って桁を埋めたりできるけど、文字もあり、空白で埋めなきゃなので関数だけのやり方がわからん。

即席マクロで対応。

len(range("セル名"))
で、文字列を確認できるから、

range("セル名").value & space(固定長文字数 - len(range("セル名"))) で、セル単位で固定長に。
これを応用して作った。

これは応急処置。
今後もマクロで対応することが決定したら、色々とエラー制御が必要になる。
列が移動された場合の対応だったり、最終行の取得方法だったり、やっぱり実処理以外が肝心。
実処理だけだったら5行で済むのに、エラー検知とかコメント書いたり、コードが数倍になる。

固定長への出力って、何か簡単に出来る方法あるのかな?

-----------------------------
2010/03/30追記)
あまり良いのが無かったので作りました。
http://grot3.sblo.jp/article/36765995.html
posted by grot3 at 23:09 | Comment(0) | TrackBack(0) | サポート
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/35228564

この記事へのトラックバック