CSVはQueryTables.Addで読む

毎回、苦戦するCSVの読込み。 今回は、今までExcelファイルで提供されていたのがCSVファイルに変わるのでその対応。 取り敢えず、本チャンのソフトは弄らずに、テストプログラムを作って実験することにした。 今回のCSVファイルも改行コードはLFのみ。 実データ内に改行はない。 適当にLineInputで読んでみる。 ラインフィード毎に分割して、更にカンマで分割すれば一応読み込める。 ところが、ときたま文字化けする。 そういえば、この前もなった現象。 こうなるとお手上げで、どうしようもない。 次にWorkbooks.OpenTextで読んでみることにした。 元のファイル(CSV)の拡張子をTXTに変えると、各フィールドの型を指定できるのでほぼ思いのままにデータを読み込むことが出来る。 ただ、読み込むと新しいBookが作られるので、その後、本来のbookにコピーしないといけないのが面倒臭い。 さらにネットを見ていると、QueryTables.Addを使う方法が出ていた。 これは、元の拡張子を変えなくても、各フィールドの型を指定できるし、特定のBookの特定のシートに読み込むことが出来ると書いてある。 早速試してみると、ちゃんと読み込むことが出来た。 今回はこれで行くことにする。 てか、これ覚えといて次からもCSVはQueryTables.Addで読むことにしよう。
--
はれ

No comments: