summaryrefslogtreecommitdiff
path: root/sc/source/filter/oox/formulabase.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sc/source/filter/oox/formulabase.cxx')
-rw-r--r--sc/source/filter/oox/formulabase.cxx25
1 files changed, 6 insertions, 19 deletions
diff --git a/sc/source/filter/oox/formulabase.cxx b/sc/source/filter/oox/formulabase.cxx
index b2f0ace68aef..74b562c30175 100644
--- a/sc/source/filter/oox/formulabase.cxx
+++ b/sc/source/filter/oox/formulabase.cxx
@@ -1467,11 +1467,10 @@ bool lclConvertToCellAddress( ScAddress& orAddress, const SingleReference& rSing
((nFilterBySheet < 0) || (nFilterBySheet == rSingleRef.Sheet));
}
-bool lclConvertToCellRange( CellRangeAddress& orRange, const ComplexReference& rComplexRef, sal_Int32 nForbiddenFlags, sal_Int32 nFilterBySheet )
+bool lclConvertToCellRange( ScRange& orRange, const ComplexReference& rComplexRef, sal_Int32 nForbiddenFlags, sal_Int32 nFilterBySheet )
{
- orRange = CellRangeAddress( static_cast< sal_Int16 >( rComplexRef.Reference1.Sheet ),
- rComplexRef.Reference1.Column, rComplexRef.Reference1.Row,
- rComplexRef.Reference2.Column, rComplexRef.Reference2.Row );
+ orRange = ScRange( rComplexRef.Reference1.Column, rComplexRef.Reference1.Row, rComplexRef.Reference1.Sheet,
+ rComplexRef.Reference2.Column, rComplexRef.Reference2.Row, rComplexRef.Reference2.Sheet );
return
!getFlag( rComplexRef.Reference1.Flags, nForbiddenFlags ) &&
!getFlag( rComplexRef.Reference2.Flags, nForbiddenFlags ) &&
@@ -1500,10 +1499,11 @@ TokenToRangeListState lclProcessRef( ApiCellRangeList& orRanges, const Any& rDat
ComplexReference aComplexRef;
if( rData >>= aComplexRef )
{
- CellRangeAddress aRange;
+ ScRange aRange;
// ignore invalid ranges (with #REF! errors), but do not stop parsing
if( lclConvertToCellRange( aRange, aComplexRef, nForbiddenFlags, nFilterBySheet ) )
- orRanges.push_back( aRange );
+ orRanges.push_back( CellRangeAddress(aRange.aStart.Tab(), aRange.aStart.Col(), aRange.aStart.Row(),
+ aRange.aEnd.Col(), aRange.aEnd.Row()) );
return STATE_REF;
}
return STATE_ERROR;
@@ -1598,19 +1598,6 @@ Any FormulaProcessorBase::extractReference( const ApiTokenSequence& rTokens ) co
return Any();
}
-bool FormulaProcessorBase::extractCellRange( CellRangeAddress& orRange,
- const ApiTokenSequence& rTokens, bool bAllowRelative ) const
-{
- ApiCellRangeList aRanges;
- lclProcessRef( aRanges, extractReference( rTokens ), bAllowRelative, -1 );
- if( !aRanges.empty() )
- {
- orRange = aRanges.front();
- return true;
- }
- return false;
-}
-
bool FormulaProcessorBase::extractCellRange( ScRange& orRange,
const ApiTokenSequence& rTokens, bool bAllowRelative ) const
{