Rilevamento del riferimento circolare

introduzione

Le cartelle di lavoro possono avere riferimenti circolari e talvolta è necessario rilevare se i riferimenti circolari sono presenti o meno.

Concetto alla base del rilevamento del riferimento circolare

riferimenti circolari possono essere rilevati solo quando la formula viene calcolata perché i riferimenti di una formula dipendono comunemente dal risultato calcolato di altre parti o altre formule. Quindi forniamo nuove API per questo requisito (per raccogliere celle con riferimenti circolari) nel processo di calcolo della formula:

CalcoloCell: Rappresenta il calcolo dei dati rilevanti su una cella calcolata

AbstractCalculationMonitor.OnCircular(IEnumerator circularCellsData): verrà richiamato dal motore di calcolo della formula quando incontra riferimenti circolari, l’elemento nell’enumeratore èCalcoloCell oggetti che rappresentano tutte le celle in un cerchio. Il valore restituito indica se il motore delle formule deve calcolare tali celle in forma circolare dopo questa chiamata.

L’utente può raccogliere tali riferimenti circolari nell’attuazione diAbstractCalculationMonitor.OnCircular() metodo.

Il file di esempio sorgente può essere scaricato dal seguente link:

Formule circolari.xls

Definizione diMonitor circolare classe da cui derivaAbstractCalculationMonitor classe è la seguente: