Excel 2010 で グラフ等のオブジェクトを含む xls 形式のファイルの開閉を繰り返すとリソース不足のエラーが表示される

現象

Microsoft Excel 2010 で グラフ等のオブジェクトを含む xls 形式のファイルの開閉を繰り返すと、リソース不足の旨のエラーが表示され、Excel 2010 の動作が不安定になります。

原因

Excel 2010 では xls 形式のファイルを開くときに、ファイル内に含まれるグラフ等のオブジェクトに対する変換処理が行われますが、この処理で確保されたメモリ (ハンドル) は Excel ファイルを閉じても解放されません。
その結果、Excel 2010 を起動したまま連続して xls 形式のファイルの開閉を繰り返すと、Excel のプロセスで使用可能なメモリのハンドルの上限数に達し、この現象が発生します。

回避策

以下のいずれかの方法で回避します。

方法 1 : 開く対象のファイルを xlsx 形式に変換する

ファイル形式が xlsx の場合には、原因の処理は行われないため本現象は発生しません。
処理の対象となるファイルを事前に xlsx 形式へ変換し、xlsx 形式のファイルに対して処理を行うようにします。


方法 2 : 一定回数処理ごとに、Excel のプロセスを再起動する

本現象は、Excel のプロセス起動中に連続してファイルを開く、閉じるを繰り返すことで発生します。そのため、一定回数処理を行ったら Excel のプロセスを一旦終了することで回避します。

状況

マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

詳細

以下は現象が発生する手順の一例です。

問題の再現手順
  1. グラフや図形を含むファイルを xls 形式で保存します。
  2. VBA 等で、手順 1 で作成したファイルの開閉を含む処理を繰り返し実行します。
結果
以下のようなエラーが発生し、処理を続行できません。

例)
実行時エラー '1004': ファイルを保存できませんでした。
リソース不足のため、このタスクを完了することができません。
プロパティ

文書番号:3020440 - 最終更新日: 2016/09/29 - リビジョン: 1

Microsoft Excel 2010

フィードバック