- - PR -
EXCEL出力を高速にする方法
«前のページへ
1|2|3
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-10-21 15:18
EXCELシートへのデータ貼り付けを配列で行うことに決定し、その処理もくみこんで
思い描いていた通りに動いた、っと思ったのですが レコード件数が50件位だと 正常に動くのですが300件位のデータを配列に入れて、 配列からEXCELシートにデータを移動させようとするとHResultエラーで落ちてしまうのです。 配列で一気にデータをEXCELシートに貼り付けるのにも限度があるのでしょうか? | ||||
|
投稿日時: 2003-10-21 19:51
確かに... VB6時代のC/Sシステムではなく、サーバ処理なのをすっかり忘れていました。 すみませんでした。m(__)m | ||||
|
投稿日時: 2003-10-22 16:48
>配列で一気にデータをEXCELシートに貼り付けるのにも限度があるのでしょうか?
配列もメモリを使用しますから、当然空き状況によって限界は変わります。 配列の宣言の仕方や型によっても無駄な空間や大きなサイズを確保してしまいます。 ただ、「HResultエラー」はシートに貼り付ける時に出ているのですよね? (配列そのものには格納できている。) であれば別の問題かと。データの中身とか...各項目の長さにもよりますが300件 ぐらいではよほどLowスペックな環境で無い限り通常は大丈夫かと。 尚データ件数が多くて配列も確保できない状態になるようでしたら、SQLなりで一定の 件数で切って分割で配列→Rangeに貼付ということにすればよろしいかと。(取得した データセットを件数ごとにという方法もありますが、すでに全件メモリ上に持っている 状態だとやはり厳しくなるのでLowNumなりHOST変数なり、Fetchなりで分割して読み込む ほうがメモリ節約になると思います。) | ||||
|
投稿日時: 2003-10-22 17:48
ほむらです。
使い方は良くわからないんですけど。 Excelのデータベースクエリは使用できませんか? VBAヘルプでQueryTablesをしらべれば出てきたと思うのですが。。。 マクロの記録でも使い方わかるかも?(笑 | ||||
|
投稿日時: 2003-10-23 11:56
Beatleさん、ほむらさん返答ありがとうございました。
とりあえず、Beatleさんのアドバイスを参考にしながら 一定の件数で切って分割して配列に入れようと思います。 |
«前のページへ
1|2|3