投稿日 | : 2002/11/07(Thu) 19:23 |
投稿者 | : tokumori |
Eメール | : tokumori@c.do-up.com |
URL | : |
タイトル | : VB6.0からEXCEL97へのデータ入力でのエラーについて |
はじめまして。
tokumoriと申します。
VB6.0を用いてプログラムの開発を行っているのですが、以下のような症状が解消出来ません。
ご存知の方お力添えをお願いします。
・環境
OS:Win95(OSR2)もしくはWin98
開発ソフト:VB6.0
連携アプリ:EXCEL97
上記環境にて、別のプログラムで作成した複数CSVファイルを一つのブックの複数シートに入力しようと考えています。
(A.csv→sheet1へ、B.csv→sheet2へという具合に)
VBからエクセルを起動して、シートごとにデータを入力開始するところまでは出来たのですが、データ数の合計が30000を超えた辺りでエクセルがフリーズしてしまいます。(Win95およびWin98でテスト)
正確なデータ数は数えていませんが、フリーズするポイントは毎回同じです。
試しに、別の環境(Win2000・EXCEL2000)で実行してみたところ作業が完了しました。
ソースは以下のようなものを組んでいます。
For l=1 to 7
Open A For Input As #FNo
Do Until j = X
For i = 1 To Y
Input #FNo, strData
xl.worksheets(l).Cells(j, i).Value = strData
Next i
j = j + 1
Loop
Close #FNo
Next l
この部分の実行前に、シートをファイル数だけ作成(l=7枚)し、あらかじめ読出元ファイルAの行数をカウントしてXとしています。
また、列数iはあらかじめ決まっている値Yを用いています。
およそのデータ数は、X=1000、Y=25ぐらいのデータです。
検索はして見たつもりですが、以前に同じようなスレッド、Q&Aがあった場合はご容赦ください。
よろしくお願いします。