Version

ResolveReference Method (IUltraCalcReference)

Resolves a reference relative to this reference.
Syntax
'Declaration
 
Function ResolveReference( _
   ByVal reference As IUltraCalcReference, _
   ByVal referenceType As ResolveReferenceType _
) As IUltraCalcReference

Parameters

reference
The reference to resolve.
referenceType
Indicates whether the reference being resolved is the lvalue of the formula or an rvalue of the formula.

Return Value

The resolved reference.
Remarks
ResolveReference is used to merge two references while giving precedence to elements with more specific scope. Each element in this reference and the input reference up to but not including the last element must be identical except for scope. If the scopes are not identical, then one of the two scopes must be "any". Note that elements with a scope of relative index are converted to scope "any" in the output reference. This yields an enumerable reference and allows the calculation engine to properly construct the dirty network.

The last element of the input reference replaces the last element of this reference.

This method is used by the evaluator to take an unscoped reference, such as a column reference, and merge into a fully scoped reference, such as a row reference, to yield a cell reference.

Note that this method must operate on the reference string used to create the reference. When a reference with relative scope is created by CreateReference, such as [Price(-1)], the underlying reference is a column reference. The reference string used to create the refernce is required to properly apply the scope to the merged result.

Requirements

Target Platforms: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Server 2012, Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also