投稿日 | : 2005/02/21(Mon) 23:57 |
投稿者 | : maw |
Eメール | : mawmawxx@hotmail.com |
URL | : |
タイトル | : DAOを使うとExcelのプロセスが残ってしまう |
初めて投稿します。よろしくおねがいします。
私は現在、VBからExcel上にWebクエリを展開し、
その内容を取得するという処理を何回か繰り返す処理を考えています。
当初は、
1.Excel開く
↓
2.Webクエリ展開
↓
3.Excel保存後閉じる
↓
4.データ取得(DAO)
以上の1〜4を1サイクルとして繰り返し処理を行っていました。
この時点では問題はありませんでした。
ここからさらに、毎回Excelを開きなおしていると無駄な時間がかかると思い、
処理時間の短縮のために
1.Excel開く
↓
2.Webクエリ展開
↓
3.Excel保存
↓
4.データ取得(DAO)
↓
5.Excel閉じる
の2〜4を1サイクルとして繰り返し処理を行うようにアルゴリズムを
変更しました。
以上のように変更すると、処理終了後にExcelのプロセスが残ってしまうように
なったのですが、その原因が自分では解明できませんでした。
このサイトの「Excel のタスクを正常に終了できない現象」にあった内容も全て
確認したのですが、今回のケースは該当しないようです・・。
ちなみに、DAOを使わずにFor文などの繰り返しを使ってデータを取得すると、
プロセスが残る問題は発生しません。
しかし、DAOを使わないと処理にかかる時間が跳ね上がってしまうので
これは避けたいのです。
なぜExcelのプロセスは残ってしまうのでしょうか?
アドバイス等いただけますと幸いです。宜しくお願い致します。
実際のコード(変更後)は以下のようになっております。
hhttp://homepage1.nifty.com/awas/test.txt
(長くなってしまったので外部リンクにしました。)
※環境は、Windows2000でVB6.0、Excel2000です。