VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 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があった場合はご容赦ください。
よろしくお願いします。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -