private static string GetArea3D(bool R1C1, TArea3dToken Token, int CellRow, int CellCol, TWorkbookGlobals Globals, bool IsErr, bool WritingXlsx) { if (Globals == null) { return(" <Ref> "); } int ExternSheet = Token.FExternSheet; if (ExternSheet == 0xFFFF) { return(TFormulaMessages.ErrString(TFlxFormulaErrorValue.ErrRef)); } int Row1 = IsErr ? -1 : Token.GetRow1(CellRow) + 1; int Row2 = IsErr ? -1 : Token.GetRow2(CellRow) + 1; int Col1 = IsErr ? -1 : Token.GetCol1(CellCol) + 1; int Col2 = IsErr ? -1 : Token.GetCol2(CellCol) + 1; if (Col1 == 1 && Col2 == FlxConsts.Max_Columns + 1) { return(GetSheetName(ExternSheet, Globals, WritingXlsx) + GetRowRange(R1C1, Row1, Row2, CellRow, Token.RowAbs1, Token.RowAbs2)); } if (Row1 == 1 && Row2 == FlxConsts.Max_Rows + 1) { return(GetSheetName(ExternSheet, Globals, WritingXlsx) + GetColRange(R1C1, Col1, Col2, CellCol, Token.ColAbs1, Token.ColAbs2)); } string RestOfArea = IsErr? String.Empty: fts(TFormulaToken.fmRangeSep) + Get1Ref(R1C1, Row2, Col2, CellRow, CellCol, Token.RowAbs2, Token.ColAbs2); return(GetSheetName(ExternSheet, Globals, WritingXlsx) + Get1Ref(R1C1, Row1, Col1, CellRow, CellCol, Token.RowAbs1, Token.ColAbs1) + RestOfArea); }