数字が数値。エクセルのバグ?
Posted 5月 21st, 2008 by hippos
in
Excelでcsvファイルを取り込むには、OpenTextが便利なんだけど"数字"が数値になってしまうのがいただけない。これを回避する手段としてFieldInfoがあるわけなんですがこれがうまくいかないことがあります。例えば、
Workbooks.OpenText Filename:="c:¥abc.csv", StartRow:=1,
DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, _
Tab:=False, Semicolon:=False, Comma:=True, Space:=False,
Other:=False,FieldInfo:=Array(Array(1, 2), Array(2, 2), Array(3, 1))こんなコードは間違いないはずなんですが、やっぱり"0001"は1になってしまう。色々、調べてみたけれど原因はわからず。まあ、めずらしくもないバグなんですが今日、ひょんなことから解決しました。
Workbooks.OpenText Filename:="c:¥abc.txt", StartRow:=1,
DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, _
Tab:=False, Semicolon:=False, Comma:=True, Space:=False,
Other:=False,FieldInfo:=Array(Array(1, 2), Array(2, 2), Array(3, 1))先のコードとの違いはどこ?ちょっと気づかないでしょ。なんと、取り込むファイル名の拡張子を変更したらちゃんと"0001"になりました。なんだかなぁ。拡張子の関連付けなんかと関係があるのかもしれませんが(僕の環境ではcsvはエクセルに関連付けしていません)やっぱバグだよなぁ。くだらないことだけど解決してスッキリです。 (Excel2000環境です。)
この記事のトラックバックURL:
http://hippos-lab.com/blog/trackback/237










最近のコメント
2 weeks 2 days ago
3 weeks 4 hours ago
3 weeks 6 days ago
3 weeks 6 days ago
6 weeks 6 days ago
6 weeks 6 days ago
13 weeks 21 hours ago
22 weeks 6 days ago
22 weeks 6 days ago
25 weeks 4 days ago