次の方法で共有

Exce2007 VBAで連続作成したブックが保存できない

Anonymous
2011-09-15T06:39:08+00:00

誰かお知恵をお願いします。

エクセル2007VBAで、エクセルブックを連続して8,000個程作成するマクロを作成したのですが、

2000個程度のところでファイルが保存できなくなって止まってしまいます(途中はちゃんと

保存できています)。また、PCを換えると保存できなくなる位置が変わります。

HDの容量、ファイル名の長さ・一意性は問題ありません。

関係ないかもしれませんが、動作中の物理メモリをみると、合計が3.3Gのうち

システムキャッシュが1Gくらいのところでエラーになります。

開発者テクノロジ | Visual Basic for Applications

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2011-09-15T16:00:54+00:00

8,000 個って、開いたままにしているのですか?

それとも、作って保存して閉じてを繰り返しているのですか?

もし、開いたままなのであればそれは無謀です。閉じる処理を入れるなど、実装や仕様の見直しをするべきです。

後者であれば、何らかのメモリリーク(リソースリーク)が発生している可能性があります。VBA のマクロのバグか、Excel のバグだと思います。マクロのバグであれば調査して直していただくしかないでしょう。Excel のバグだとすると、対応は難しいでしょうね。

プログラムの世界の話でいけば、1 プロセスにつき使えるメモリ、ハンドルなどは限界があります。

その限界に到達すると、それ以上ファイルを開けなかったり、ブックを開けなかったりするような症状が起こるのは自然なことです。

きちんと後始末を毎回するか、一気に処理する量を減らして運用で逃げるかということが必要になります。

この回答は役に立ちましたか?

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2011-09-15T10:49:22+00:00

なんか限界に挑戦しているような話ですが、PCによって状況が変わるとのことですので、Excelの制限というよりPCのリソースによって引っかかっているような気がします。

ただ、どのようなやり方をされているか分からないと追検証もアドバイスもできません。

どのようなループ構成でどのように保存しているのか、保存後どうしているのかなど、コア部分のコードを提示してください。

この回答は役に立ちましたか?

0 件のコメント コメントはありません

1 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2011-09-16T00:46:56+00:00

    y sakudaさん Azuleanさんご回答ありがとうございます。

    処理する量を減らして運用することにしました。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません