summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--oovbaapi/ooo/vba/excel/XRange.idl2
-rw-r--r--sc/source/ui/vba/vbarange.cxx33
-rw-r--r--sc/source/ui/vba/vbarange.hxx4
3 files changed, 34 insertions, 5 deletions
diff --git a/oovbaapi/ooo/vba/excel/XRange.idl b/oovbaapi/ooo/vba/excel/XRange.idl
index 8630b87241ba..32f75a309795 100644
--- a/oovbaapi/ooo/vba/excel/XRange.idl
+++ b/oovbaapi/ooo/vba/excel/XRange.idl
@@ -59,6 +59,8 @@ interface XRange
[attribute] any Formula;
[attribute] any FormulaArray;
[attribute] any FormulaR1C1;
+ [attribute] any FormulaLocal;
+ [attribute] any FormulaR1C1Local;
[attribute, readonly] long Count;
[attribute, readonly] long Row;
[attribute, readonly] long Column;
diff --git a/sc/source/ui/vba/vbarange.cxx b/sc/source/ui/vba/vbarange.cxx
index bb732f56feb8..4837f5525aa3 100644
--- a/sc/source/ui/vba/vbarange.cxx
+++ b/sc/source/ui/vba/vbarange.cxx
@@ -1669,31 +1669,54 @@ ScVbaRange::getFormulaValue( formula::FormulaGrammar::Grammar eGram )
}
+uno::Any
+ScVbaRange::getFormula()
+{
+ return getFormulaValue( formula::FormulaGrammar::GRAM_ENGLISH_XL_A1 );
+}
+
void
ScVbaRange::setFormula(const uno::Any &rFormula )
{
- // #FIXME converting "=$a$1" e.g. CONV_XL_A1 -> CONV_OOO // results in "=$a$1:a1", temporarily disable conversion
- setFormulaValue( rFormula,formula::FormulaGrammar::GRAM_NATIVE_XL_A1 );
+ setFormulaValue( rFormula, formula::FormulaGrammar::GRAM_ENGLISH_XL_A1 );
}
uno::Any
ScVbaRange::getFormulaR1C1()
{
- return getFormulaValue( formula::FormulaGrammar::GRAM_NATIVE_XL_R1C1 );
+ return getFormulaValue( formula::FormulaGrammar::GRAM_ENGLISH_XL_R1C1 );
}
void
ScVbaRange::setFormulaR1C1(const uno::Any& rFormula )
{
- setFormulaValue( rFormula,formula::FormulaGrammar::GRAM_NATIVE_XL_R1C1 );
+ setFormulaValue( rFormula, formula::FormulaGrammar::GRAM_ENGLISH_XL_R1C1 );
}
uno::Any
-ScVbaRange::getFormula()
+ScVbaRange::getFormulaLocal()
{
return getFormulaValue( formula::FormulaGrammar::GRAM_NATIVE_XL_A1 );
}
+void
+ScVbaRange::setFormulaLocal(const uno::Any &rFormula )
+{
+ setFormulaValue( rFormula, formula::FormulaGrammar::GRAM_NATIVE_XL_A1 );
+}
+
+uno::Any
+ScVbaRange::getFormulaR1C1Local()
+{
+ return getFormulaValue( formula::FormulaGrammar::GRAM_NATIVE_XL_R1C1 );
+}
+
+void
+ScVbaRange::setFormulaR1C1Local(const uno::Any& rFormula )
+{
+ setFormulaValue( rFormula, formula::FormulaGrammar::GRAM_NATIVE_XL_R1C1 );
+}
+
sal_Int32
ScVbaRange::getCount()
{
diff --git a/sc/source/ui/vba/vbarange.hxx b/sc/source/ui/vba/vbarange.hxx
index 59404f9a730c..2e9b71746879 100644
--- a/sc/source/ui/vba/vbarange.hxx
+++ b/sc/source/ui/vba/vbarange.hxx
@@ -178,6 +178,10 @@ public:
virtual void SAL_CALL setFormulaArray(const css::uno::Any& rFormula) override;
virtual css::uno::Any SAL_CALL getFormulaR1C1() override;
virtual void SAL_CALL setFormulaR1C1( const css::uno::Any &rFormula ) override;
+ virtual css::uno::Any SAL_CALL getFormulaLocal() override;
+ virtual void SAL_CALL setFormulaLocal( const css::uno::Any &rFormula ) override;
+ virtual css::uno::Any SAL_CALL getFormulaR1C1Local() override;
+ virtual void SAL_CALL setFormulaR1C1Local( const css::uno::Any &rFormula ) override;
virtual ::sal_Int32 SAL_CALL getCount() override;
virtual ::sal_Int32 SAL_CALL getRow() override;
virtual ::sal_Int32 SAL_CALL getColumn() override;