スプレッドシートでの大量データ表示後のアンロードが遅い


G-MAX777  2002-04-01 14:26:48  No: 75456  IP: [192.*.*.*]

VBでスプレッドシートを使用した
アプリを作成する際に、非常に大量のデータを表示
した場合、フォームのアンロードに非常に時間がかかって
しまいます。
HIDEステートメントで非表示にすればはやいんですが、
結局アプリ自体を終了する場合に遅くなってしまいます。
なにかいい方法ないでしょうか?

編集 削除
みゅう  2002-04-03 18:32:46  No: 75457  IP: [192.*.*.*]

始めまして  みゅうと申します。

実際の状況はあまり見えませんが、アプリケーション自体  多数のフォームで構成されている場合、Unload及び、アプリケーションのEndは相当重いものになりますよね。
で  スプレッドのお話ですが、Unloadする際  空文字等でクリアなどされてるのでしょうか?  かつ、for  Nextなどでまわしてたりしてないでしょうか?
もし、そうであればそれが原因ですね。

with

編集 削除
みゅう  2002-04-03 18:38:06  No: 75458  IP: [192.*.*.*]

すみません  途中でした。

With Form.vaSpr
   
   .Col = -1
   .Row = -1
   .Text = ""

end With

の様な感じで一括クリアというのはどうでしょうか?

お答えの的が外れていたら申し訳ございません。

編集 削除
みゅう  2002-04-03 18:48:05  No: 75459  IP: [192.*.*.*]

追記です。

プロパティーのMaxColとMaxRowの設定値をいきなり0にしてしまうのも
ありなのでは?と思います。
一気にメモリを開放すると(未確認)思いますので。
やってみてください。

編集 削除
G-MAX777  2002-04-04 11:59:15  No: 75460  IP: [192.*.*.*]

回答ありがとうございます。
前者の回答についてなんですが、たしかに
Row Colプロパティを使用して設定しています。
で、Unloadする際にはセルのクリアはしてないですね。
単にアンロードしています。
なので、単にメモリを食いすぎているのが原因だとはおもうのですが。

そのMAXROWSを0にするという方法は
非常に有効ですね。
実際にためしましたが、今まで5分ほどかかっていた
3万件のデータを表示しているフォームのUnloadが
10秒程度になりました。
とりあえずこの手法でおこないたいと思います。
ありがとうございました。

編集 削除