source/text/sbasic/shared/03/sf_session.xhp |   35 ++++++++++++++++++++++++----
 1 file changed, 31 insertions(+), 4 deletions(-)

New commits:
commit e70e8143c90c06073e0fb014c7547ff92c9ae46d
Author:     Jean-Pierre Ledure <[email protected]>
AuthorDate: Thu Dec 11 12:01:04 2025 +0100
Commit:     Jean-Pierre Ledure <[email protected]>
CommitDate: Thu Dec 11 12:07:39 2025 +0100

    ScriptForge enhance session.ExecuteCalcFunction
    
    The sf_session.xhp help page is
    reviewed according
       https://gerrit.libreoffice.org/c/core/+/177744
    
    Change-Id: I876f384e2a964b4836ab2d4cd9b3d7bd0496777f
    Reviewed-on: https://gerrit.libreoffice.org/c/help/+/195446
    Tested-by: Jenkins
    Reviewed-by: Jean-Pierre Ledure <[email protected]>

diff --git a/source/text/sbasic/shared/03/sf_session.xhp 
b/source/text/sbasic/shared/03/sf_session.xhp
index 741734e3d6..8ad1d18958 100644
--- a/source/text/sbasic/shared/03/sf_session.xhp
+++ b/source/text/sbasic/shared/03/sf_session.xhp
@@ -278,26 +278,53 @@
   <h2 id="hd_id551582816585181" localize="false">ExecuteCalcFunction</h2>
   <paragraph role="paragraph" id="par_id111582816585181">Execute a Calc 
function using its English name and based on the given arguments.
       <br />If the arguments are arrays, the function is executed as an <link 
href="text/scalc/01/04060107.xhp">array formula</link>.</paragraph>
+  <paragraph role="paragraph" id="par_id301765386823466">The method returns a 
(string or numeric) scalar or the array of arrays returned by the call to the 
function.</paragraph>
   <embed href="text/sbasic/shared/00000003.xhp#functsyntax"/>
   <paragraph role="paragraph" localize="false" id="par_id701626811351722">
     <input>session.ExecuteCalcFunction(calcfunction: str, args: any[0..*]): 
any</input>
   </paragraph>
   <embed href="text/sbasic/shared/00000003.xhp#functparameters"/>
   <paragraph role="paragraph" 
id="par_id771582816585183"><emph>calcfunction</emph>: The name of the Calc 
function to be called, in English.</paragraph>
-  <paragraph role="paragraph" id="par_id371582816585183"><emph>args</emph>: 
The arguments to be passed to the called Calc function. Each argument must be 
either a string, a numeric value or an array of arrays combining those 
types.</paragraph>
+  <paragraph role="paragraph" id="par_id371582816585183"><emph>args</emph>: 
The arguments to be passed to the called Calc function.<br/>Each argument may 
be either</paragraph>
+  <list type="unordered">
+    <listitem>
+        <paragraph id="par_id831765386157812" role="listitem">a string, a 
numeric value, a date or a boolean</paragraph>
+    </listitem>
+        <listitem>
+        <paragraph id="par_id651765386268792" role="listitem">a 1D array, a 2D 
array or an array of arrays combining above datatypes</paragraph>
+    </listitem>
+        <listitem>
+        <paragraph id="par_id121765386355137" role="listitem">a 
<literal>com.sun.star.table.XCellRange</literal> UNO object</paragraph>
+    </listitem>
+  </list>
   <embed href="text/sbasic/shared/00000003.xhp#functexample"/>
   <embed href="text/sbasic/shared/00000003.xhp#In_Basic"/>
   <bascode>
     <paragraph role="bascode" localize="false" 
id="bas_id461582816585184">session.ExecuteCalcFunction("AVERAGE", 1, 5, 3, 7) ' 
4</paragraph>
     <paragraph role="bascode" localize="false" 
id="bas_id641582816585185">session.ExecuteCalcFunction("ABS", Array(Array(-1, 
2, 3), Array(4, -5, 6), Array(7, 8, -9)))(2)(2) ' 9</paragraph>
-    <paragraph role="bascode" localize="false" 
id="bas_id241582817051111">session.ExecuteCalcFunction("LN", -3)</paragraph>
-    <paragraph role="bascode" id="bas_id881582816585185" xml-lang="en-US">' 
Generates an error.</paragraph>
+    <paragraph role="bascode" localize="false" 
id="bas_id241582817051111">session.ExecuteCalcFunction("LN", -3)  ' Generates 
an error</paragraph>
+    <paragraph role="bascode" id="bas_id71765387395209">' --------</paragraph>
+    <paragraph role="bascode" id="bas_id81765387429208">table1 = 
Array("Symbol", "H", "He", "Li")</paragraph>
+    <paragraph role="bascode" id="bas_id521765387469537">table2 = 
Array("AtomicNumber", 1.0, 2.0, 3.0)</paragraph>
+    <paragraph role="bascode" id="bas_id251765387503314">table3 = 
Array("Mass", 1.008, 4.0026, 6.94)</paragraph>
+    <paragraph role="bascode" id="bas_id211765387545431">table = Array(table1, 
table2, table3)  ' array of arrays</paragraph>
+    <paragraph role="bascode" id="bas_id471765387597098">search = 
Array("Symbol", "AtomicNumber", "Mass")</paragraph>
+    <paragraph role="bascode" id="bas_id991765387635800">result = 
session.ExecuteCalcFunction("XLOOKUP", "Mass", search, table)</paragraph>
+    <paragraph role="bascode" id="bas_id721765387704768">MsgBox result(0)(3)  
' 6.94</paragraph>
   </bascode>
   <embed href="text/sbasic/shared/00000003.xhp#In_Python"/>
   <pycode>
     <paragraph role="pycode" localize="false" 
id="pyc_id781626816579430">session.ExecuteCalcFunction("AVERAGE", 1, 5, 3, 7) # 
4</paragraph>
     <paragraph role="pycode" localize="false" 
id="pyc_id721626816579849">session.ExecuteCalcFunction("ABS", ((-1, 2, 3), (4, 
-5, 6), (7, 8, -9)))[2][2] # 9</paragraph>
-    <paragraph role="pycode" localize="false" 
id="pyc_id191626816580053">session.ExecuteCalcFunction("LN", -3)</paragraph>
+    <paragraph role="pycode" localize="false" 
id="pyc_id191626816580053">session.ExecuteCalcFunction("LN", -3) # 
Error</paragraph>
+    <paragraph role="pycode" localize="false" id="pyc_id61765445404265"># 
--------</paragraph>
+    <paragraph role="pycode" localize="false" id="pyc_id341765445453933">table 
= ( ("Symbol", "H", "He", "Li"),</paragraph>
+    <paragraph role="pycode" localize="false" id="pyc_id191765445485111">      
    ("AtomicNumber", 1.0, 2.0, 3.0),</paragraph>
+    <paragraph role="pycode" localize="false" id="pyc_id841765445520077">      
    ("Mass", 1.008, 4.0026, 6.94) )</paragraph>
+    <paragraph role="pycode" localize="false" 
id="pyc_id751765445557340">search = ("Symbol", "AtomicNumber", 
"Mass")</paragraph>
+    <paragraph role="pycode" localize="false" 
id="pyc_id411765445586039">result = session.ExecuteCalcFunction("XLOOKUP", 
"Mass", search, table)</paragraph>
+    <paragraph role="pycode" localize="false" id="pyc_id951765445671227">basic 
= CreateScriptService('Basic')</paragraph>
+    <paragraph role="pycode" localize="false" 
id="pyc_id81765445613246">basic.MsgBox(result[0][3]) # 6.94</paragraph>
   </pycode>
 </section>
 

Reply via email to