循環参照の検出

導入

ワークブックには循環参照が含まれる場合があり、循環参照が存在するかどうかを検出する必要がある場合があります。

循環参照検出の考え方

ある式の参照は通常、他の部分または他の式の計算結果に依存するため、循環参照は式の計算時にのみ検出できます。そこで、数式計算のプロセスでこの要件 (循環参照を持つセルを収集するため) に対応する新しい API を提供します。

計算セル計算中の 1 つのセルに関する関連データの計算を表します

AbstractCalculationMonitor.OnCircular(IEnumeratorcircularCellsData): 循環参照が発生すると、数式計算エンジンによって呼び出されます。列挙子の要素は次のとおりです。計算セル 1 つの円内のすべてのセルを表すオブジェクト。戻り値は、この呼び出し後に数式エンジンがそれらのセルを循環的に計算する必要があるかどうかを示します。

ユーザーは、の実装においてそれらの循環参照を収集できます。AbstractCalculationMonitor.OnCircular()方法。

ソース サンプル ファイルは次のリンクからダウンロードできます。

循環式.xls

の定義円形モニターから派生したクラス抽象的な計算モニタークラスは次のとおりです。