Detección de referencia circular

Introducción

Los libros de trabajo pueden tener referencias circulares y, a veces, es necesario detectar si hay referencias circulares o no.

Concepto detrás de la detección de la referencia circular

Las referencias circulares solo se pueden detectar cuando se calcula la fórmula porque las referencias de una fórmula comúnmente dependen del resultado calculado de otras partes u otras fórmulas. Por eso proporcionamos nuevas API para este requisito (para reunir celdas con referencias circulares) en el proceso de cálculo de fórmulas:

Celda de cálculo: Representa el cálculo de datos relevantes sobre una celda que se está calculando.

AbstractCalculationMonitor.OnCircular(IEnumerator circularCellsData): será invocado por el motor de cálculo de fórmulas cuando encuentre referencias circulares, el elemento en el enumerador esCelda de cálculo objetos que representan todas las celdas en un círculo. El valor devuelto indica si el motor de fórmulas necesita calcular esas celdas en forma circular después de esta llamada.

El usuario podrá recoger aquellas referencias circulares en la implementación deAbstractCalculationMonitor.OnCircular() método.

El archivo de muestra fuente se puede descargar desde el siguiente enlace:

Fórmulas circulares.xls

Definicion deMonitor circular clase que se deriva deResumenCálculoMonitor clase es la siguiente: