diff options
author | Eike Rathke <erack@redhat.com> | 2016-04-05 18:03:00 +0100 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2016-04-12 14:05:59 +0000 |
commit | 7ba918f014f177718664cbd379c6386a7a258c59 (patch) | |
tree | 34768013bc1b3b2d6109e8e2c1622d339f30a658 | |
parent | 3030da902bf62d2952c638c7db2cbf83b69214d8 (diff) |
Resolves: tdf#98990 accept R1C1 notation entire column/row references
... which consist of only C4 or C[3] without a range operator.
Change-Id: I1865f0ec4c4fec1101b93b6b40d6f26871a65f07
(cherry picked from commit 3c36ba50f65d663f35264f2a11c99c0ff98674a2)
Reviewed-on: https://gerrit.libreoffice.org/23843
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
-rw-r--r-- | sc/source/core/tool/compiler.cxx | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/sc/source/core/tool/compiler.cxx b/sc/source/core/tool/compiler.cxx index 2bec06721c86..80f37a447932 100644 --- a/sc/source/core/tool/compiler.cxx +++ b/sc/source/core/tool/compiler.cxx @@ -2995,15 +2995,19 @@ bool ScCompiler::IsReference( const OUString& rName ) } else { - // Special treatment for the 'E:\[doc]Sheet1:Sheet3'!D5 Excel sickness, - // mnRangeOpPosInSymbol did not catch the range operator as it is - // within a quoted name. switch (pConv->meConv) { case FormulaGrammar::CONV_XL_A1: - case FormulaGrammar::CONV_XL_R1C1: case FormulaGrammar::CONV_XL_OOX: - if (rName[0] == '\'' && IsDoubleReference( rName)) + // Special treatment for the 'E:\[doc]Sheet1:Sheet3'!D5 Excel + // sickness, mnRangeOpPosInSymbol did not catch the range + // operator as it is within a quoted name. + if (rName[0] != '\'') + return false; // Document name has to be single quoted. + // fallthru + case FormulaGrammar::CONV_XL_R1C1: + // C2 or C[1] are valid entire column references. + if (IsDoubleReference( rName)) return true; break; default: |