summaryrefslogtreecommitdiff
path: root/oovbaapi
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2021-04-09 13:19:37 +0200
committerEike Rathke <erack@redhat.com>2021-04-09 16:27:09 +0200
commit15a97bcaf17f0f3bc64efd1239c365868480ec43 (patch)
tree3bbd89f9ff65a689cb33d724d45f027dcb3a2f37 /oovbaapi
parent9940630266686d306fc2bc0ac3c20231f7f3d532 (diff)
[API-CHANGE] tdf#141543 VBA Range.Formula Range.FormulaR1C1 non-localized
The VBA compatibility Range.Formula and Range.FormulaR1C1 properties wrongly used localized formula expressions as if they were Range.FormulaLocal and Range.FormulaR1C1Local. That worked in English UI and locales, but not in translated UI or with locale dependent different separators, imported Excel documents using these properties failed there. Instead, use English formula expressions and separators, and additionally implement Range.FormulaLocal and Range.FormulaR1C1Local for localized formula expressions. See https://docs.microsoft.com/en-us/office/vba/api/excel.range.formula https://docs.microsoft.com/en-us/office/vba/api/excel.range.formular1c1 https://docs.microsoft.com/en-us/office/vba/api/excel.range.formulalocal https://docs.microsoft.com/en-us/office/vba/api/excel.range.formular1c1local Unfortunately this change means for macros created in LibreOffice that relied on the erroneous beaviour in a localized environment those macros will cease to work, the remedy in these cases is to replace setting Formula and FormulaR1C1 attributes with FormulaLocal and FormulaR1C1Local instead. Obtaining formulas never worked reliably unless the document's native grammar was very similar to the API grammar (English UI function names, English locale and separators, address convention). For this to work a prerequisite is commit d0b4719ca3d4608bcb7431dbeb097146dd5a5127 CommitDate: Wed Apr 7 02:22:54 2021 +0200 Related: tdf#128334 Make VBA Range getFormula(R1C1) work not only by accident Change-Id: Ifce9ac7557b6a3703d47ee81b57dd8246f3fc3ca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113846 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
Diffstat (limited to 'oovbaapi')
-rw-r--r--oovbaapi/ooo/vba/excel/XRange.idl2
1 files changed, 2 insertions, 0 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;