[リストへもどる]
一括表示

投稿時間:2003/09/10(Wed) 10:31
投稿者名:こた
Eメール:
URL :
タイトル:
DAOまたはADOでEXCEL開いたとき
 DAOまたはADOでEXCEL開いたとき、同一列内に異なるデータタイプがあって少数派がNull(またはEmpty)になってしまう。の解決ってありますか?
 元EXCELファイルに手を加えないという前提ではDAOまたはADOでは無理なようです。(Microsoft技術情報参照)
できればなんでもかんでも文字型で読みたいのですが(そうすれば手はあるんですが・・・・)
それってDAOまたはADOでできるのでしょうか?

それがだめなら他の方法でEXCEL開きたいのですが、CreateObject以外で手はありますでしょうか?
今、EXCELをCSVにしてから読み込もうかどうしようか迷い中です。

投稿時間:2003/09/10(Wed) 10:51
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: DAOまたはADOでEXCEL開いたとき
Excelファイルの場合、SCHEMA.INI ファイルが使用できなかったと思いますので
IMEX=1 を入れてやれば或る程度改善できるかと思います。
オプション機能の IMEX=1; を追加 "Excel 8.0;HDR=YES;IMEX=1;" すれば8行目までのデータ
が同一カラム(列)内に混在している場合 テキスト型として扱います。

従って項目行に文字列が使用されている場合は有効ですが、8行目までに違ったデータ型が
混在していない場合は有効になりません。

その場合は、別途レジストリ(下記)

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\3.5\Engines\Excel]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel]

のTypeGuessRowsを充分大きくすることで解決できるかもしれません。

投稿時間:2003/09/10(Wed) 11:11
投稿者名:こた
Eメール:
URL :
タイトル:
Re^2: DAOまたはADOでEXCEL開いたとき

おお!ありがとうございます!「IMEX」ですか〜〜。
なんとかテキスト型で読込成功です。なかなか進まなくって困ってましたw
ありがとうございました!!!!

投稿時間:2003/09/10(Wed) 12:17
投稿者名:こた
Eメール:
URL :
タイトル:
解決です
さいわいにも、読込元エクセルが8行以内に文字表題がついていたため
IMEXのオプションのみの追加で解決しました。
念のため、レジストリも覗いて見ましたが、よほどのことがないかぎり
いぢるのは危険かなとw今回はこれで解決しました。
ありがとうございます。