Zirkuläre Referenz erkennen

Einführung

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

Konzept hinter der Erkennung des Zirkelbezugs

Zirkelbezüge können nur bei der Berechnung der Formel erkannt werden, da die Bezüge einer Formel häufig vom berechneten Ergebnis anderer Teile oder anderer Formeln abhängen. Daher bieten wir neue APIs für diese Anforderung (um Zellen mit Zirkelbezügen zu sammeln) im Prozess der Formelberechnung:

Berechnungszelle: Stellt die Berechnung relevanter Daten über eine zu berechnende Zelle dar

AbstractCalculationMonitor.OnCircular(IEnumerator circleCellsData): wird von der Formelberechnungs-Engine aufgerufen, wenn auf Zirkelverweise gestoßen wird, das Element im Enumerator istBerechnungszelle 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 unter folgendem Link heruntergeladen werden:

Kreisformeln.xls

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