Erkennen von Zirkelverweisen

Einführung

Arbeitsmappen können Zirkelverweise enthalten und manchmal muss festgestellt werden, ob Zirkelverweise vorhanden sind oder nicht.

Konzept hinter der Erkennung des Zirkelverweises

Zirkelbezüge können nur bei der Berechnung der Formel erkannt werden, da die Bezüge einer Formel üblicherweise vom berechneten Ergebnis anderer Teile oder anderer Formeln abhängen. Deshalb stellen wir für diese Anforderung (zum Sammeln von Zellen mit Zirkelbezügen) im Prozess der Formelberechnung neue APIs bereit:

Berechnungszelle: Stellt die Berechnung relevanter Daten zu einer berechneten Zelle dar

AbstractCalculationMonitor.OnCircular(IEnumerator CircularCellsData): wird von der Formelberechnungs-Engine aufgerufen, wenn Zirkelverweise auf das Element im Enumerator stoßenBerechnungszelle Objekte, die alle Zellen in einem Kreis darstellen. Der zurückgegebene Wert gibt an, ob die Formel-Engine diese Zellen nach diesem Aufruf kreisförmig berechnen muss.

Der Benutzer kann diese Zirkelverweise bei der Implementierung von sammelnAbstractCalculationMonitor.OnCircular() Methode.

Die Quellbeispieldatei kann über den folgenden Link heruntergeladen werden:

Kreisformeln.xls

Definition vonCircularMonitor Klasse, von der abgeleitet istAbstractCalculationMonitor Klasse ist wie folgt: