Excelについての質問です。

プログラムで1シートに10~20のグラフを作成し、
1ブック内に25シートコピーを作る処理をさせています。

途中、10以上シートをコピーをすると、メモリエラーで落ちます。
グラフオブジェクトを含む場合、10シートが限界らしいのですが、
プログラムからの回避策を知っている方、よろしくお願いします。

※グラフのフォント「自動サイズ調整」チェックボックスをオフにする、はダメでした。

※レジストリやWindowsの設定ファイルの変更以外でおねがいします。
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/03/08 01:40:42
  • 終了:2007/03/11 02:53:33

回答(3件)

id:taknt No.1

きゃづみぃ回答回数13539ベストアンサー獲得回数11982007/03/08 06:15:25

シートの複写や追加は、メモリなどに影響されます。

何もないシートを追加していくだけでも ある数(メモリによって違う)でエラーになります。

25シートだけならば 最初にシートだけ追加してから

後でグラフを作成したらいかがでしょうか?

あと

http://support.microsoft.com/kb/179679/ja

ブックにグラフを123以上または124追加する場合、この問題が発生することがあります。 これが Microsoft Excel での制限です。

ということなので グラフ数は 123以下でないとダメです。

これは エクセルの仕様(不具合?)となりますので こちらのHPに

載っている方法1で回避できないか 試してみたらいいでしょう。

id:kyosh

回答ありがとうございます。

メモリを最低限にするため、

「1シート目にグラフを10~20作成し、そのシートをコピーする」仕様です。

理由は、どのシートも同じテンプレート(表示文字、グラフ数、設定が同じ)になるためです。

また、シートを25枚作成してから各シートにグラフを追加しても、途中でメモリエラーになります。

今回の質問の意図は、「グラフ数は 123以下でないとダメ」な設定をプログラム側でどうにかできないか?

ということです。

他にご存知でしたら、よろしくお願いします。

2007/03/08 11:59:36
id:Mook No.2

Mook回答回数1312ベストアンサー獲得回数3912007/03/08 09:08:58

たぶん検索すれば見つかると思いますが、EXCELの仕様(バグ?)でシートのコピーを繰り返すとエラーになるようです。

http://support.microsoft.com/kb/210684/ja


上記ページでは回避策としては、テンプレートを利用する例がかかれていますが、シートコピーではなく、シートを作成してオブジェクトをコピーするようにしても、回避できると思います。


下記の質問ではテンプレートでの回避例を例示しています。

http://q.hatena.ne.jp/1168920481

id:kyosh

回答ありがとうございます。

同じプログラムで、グラフを含まなければエラーが出ないことは確認済みのため、

>EXCELの仕様(バグ?)でシートのコピーを繰り返すとエラーになる

は、今回当てはまりません。

他にご存知でしたら、よろしくお願いします。

2007/03/08 12:02:49
id:Mook No.3

Mook回答回数1312ベストアンサー獲得回数3912007/03/08 12:26:06

マイクロソフトの説明にもあるようにコピーできるシート数は、実行環境やシートの内容に依存します。

http://support.microsoft.com/kb/210684/ja

注 : ブックを保存する前にワークシートをコピーできる回数は、ワークシートのサイズによって異なります。

空のシートで10枚出来なたから、グラフのあるシートで10枚できるわけではありません。


回避策は先に説明したように、

  ・個々のシートでグラフを作成するか、

  ・コピー元を一旦テンプレートとして保存しそれをコピーするか、

あるいは検証していませんが、

  ・1シートコピーするごとにブックを保存するか

になると思います。

id:kyosh

えーっと、実行環境やシートの内容に依存するのはわかっています^^;;

>空のシートで10枚出来なたから、グラフのあるシートで10枚できるわけではありません。

これもわかっています^^;;

ちなみに環境はメモリ2G積んでいます。

その上で、回避策がないですか?という質問なのですが・・・。

>1シートコピーするごとにブックを保存するか

はすでに実装済みです。

テンプレートも同様にエラーが発生します。

質問文がわかりにくかったらすみません。

2007/03/08 15:53:48
  • id:Mook
    解決に到らなかったのでキャンセルもやむないことかと思いますが、

    グラフの上限が123 というのは Mac の問題ではないでしょうか。
    Windows では関係ないと思います。
    現にこちらで試した再には、1000 以上のグラフを作成できました。

    新規で作成するには、あまり上限がなかったのですが、コピーを繰り
    返した際には、
    http://support.microsoft.com/kb/882381/ja
    の問題が発生しました。

    やはり、コピーではなく個々のシートに作成するようにしたら回避で
    きるのではないでしょうか。

    とりあえず、情報まで。
  • id:taknt
    一応、マイクロソフト側も回避策というのを 出してますが
    それで ダメだったみたいなので 負担が多い グラフなのでは
    ないのかと推測します。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません