From 7af288d0fa90e5e31c29014501f06f776a00366a Mon Sep 17 00:00:00 2001 From: Olivier Hallot Date: Tue, 16 Jun 2020 23:57:06 -0300 Subject: tdf#134032 Calling Calc function from basic Change-Id: I7c3c64e0df4d89b46e49afb869f3e2de0825a6e2 Reviewed-on: https://gerrit.libreoffice.org/c/help/+/96485 Tested-by: Jenkins Reviewed-by: Olivier Hallot --- source/text/sbasic/shared/03131600.xhp | 11 +- source/text/sbasic/shared/calc_functions.xhp | 865 +++++++++++++++++++++++++++ 2 files changed, 872 insertions(+), 4 deletions(-) create mode 100644 source/text/sbasic/shared/calc_functions.xhp (limited to 'source/text/sbasic/shared') diff --git a/source/text/sbasic/shared/03131600.xhp b/source/text/sbasic/shared/03131600.xhp index ddf4fe234c..b0c499b8c7 100644 --- a/source/text/sbasic/shared/03131600.xhp +++ b/source/text/sbasic/shared/03131600.xhp @@ -33,7 +33,7 @@ API;FunctionAccess -CreateUnoService Function +

CreateUnoService Function

Instantiates a Uno service with the ProcessServiceManager. @@ -45,11 +45,11 @@ Calc functions;API Service -Calling Calc functions in Basic -CreateUnoService function; Calling Calc functions Calling Calc functions in Basic: +
+ REM The code below does not work for add-in functions, which have a different calling procedure. Function MyVlook(item, InRange As Object, FromCol As Integer) Dim oService As Object oService = createUnoService("com.sun.star.sheet.FunctionAccess") @@ -57,7 +57,7 @@ MyVlook = oService.callFunction("VLOOKUP",Array(item, InRange, FromCol, True)) End Function - +
oIntrospection = CreateUnoService( "com.sun.star.beans.Introspection" ) @@ -78,5 +78,8 @@ FileOpenDialog=files(0) End Function +
+ +
diff --git a/source/text/sbasic/shared/calc_functions.xhp b/source/text/sbasic/shared/calc_functions.xhp new file mode 100644 index 0000000000..7f0169fd7a --- /dev/null +++ b/source/text/sbasic/shared/calc_functions.xhp @@ -0,0 +1,865 @@ + + + + + + + Calling Calc Functions in Macros + /text/sbasic/shared/calc_functions.xhp + + + + + calling Calc function;macros + macros;calling Calc function + createUNOservice function;calling Calc function + API;addin.Analysis + +

Calling Calc Functions

+In addition to the native BASIC functions, you can call Calc functions in your macros and scripts. +

Calling Internal Calc functions in Basic

+ Use the CreateUNOService function to access the com.sun.star.sheet.FunctionAccess service. + + +

Calling Add-In Calc Functions in BASIC

+The Calc Add-In functions are in service com.sun.star.sheet.addin.Analysis. + + +REM Example calling Addin function SQRTPI +Function MySQRTPI(arg as double) as double + Dim oService as Object + oService = createUNOService("com.sun.star.sheet.addin.Analysis") + MySQRTPI = oService.getSqrtPi(arg) +End Function + + + + + + Calc Function name + + + UNO service name + + + + + ACCRINT + + + com.sun.star.sheet.addin.Analysis.getAccrint + + + + + ACCRINTM + + + com.sun.star.sheet.addin.Analysis.getAccrintm + + + + + AMORDEGRC + + + com.sun.star.sheet.addin.Analysis.getAmordegrc + + + + + AMORLINC + + + com.sun.star.sheet.addin.Analysis.getAmorlinc + + + + + BESSELI + + + com.sun.star.sheet.addin.Analysis.getBesseli + + + + + BESSELJ + + + com.sun.star.sheet.addin.Analysis.getBesselj + + + + + BESSELK + + + com.sun.star.sheet.addin.Analysis.getBesselk + + + + + BESSELY + + + com.sun.star.sheet.addin.Analysis.getBessely + + + + + BIN2DEC + + + com.sun.star.sheet.addin.Analysis.getBin2Dec + + + + + BIN2HEX + + + com.sun.star.sheet.addin.Analysis.getBin2Hex + + + + + BIN2OCT + + + com.sun.star.sheet.addin.Analysis.getBin2Oct + + + + + COMPLEX + + + com.sun.star.sheet.addin.Analysis.getComplex + + + + + CONVERT + + + com.sun.star.sheet.addin.Analysis.getConvert + + + + + COUPDAYBS + + + com.sun.star.sheet.addin.Analysis.getCoupdaybs + + + + + COUPDAYS + + + com.sun.star.sheet.addin.Analysis.getCoupdays + + + + + COUPDAYSNC + + + com.sun.star.sheet.addin.Analysis.getCoupdaysnc + + + + + COUPNCD + + + com.sun.star.sheet.addin.Analysis.getCoupncd + + + + + COUPNUM + + + com.sun.star.sheet.addin.Analysis.getCoupnum + + + + + COUPPCD + + + com.sun.star.sheet.addin.Analysis.getCouppcd + + + + + CUMIPMT + + + com.sun.star.sheet.addin.Analysis.getCumipmt + + + + + CUMPRINC + + + com.sun.star.sheet.addin.Analysis.getCumprinc + + + + + DEC2BIN + + + com.sun.star.sheet.addin.Analysis.getDec2Bin + + + + + DEC2HEX + + + com.sun.star.sheet.addin.Analysis.getDec2Hex + + + + + DEC2OCT + + + com.sun.star.sheet.addin.Analysis.getDec2Oct + + + + + DELTA + + + com.sun.star.sheet.addin.Analysis.getDelta + + + + + DISC + + + com.sun.star.sheet.addin.Analysis.getDisc + + + + + DOLLARDE + + + com.sun.star.sheet.addin.Analysis.getDollarde + + + + + DOLLARFR + + + com.sun.star.sheet.addin.Analysis.getDollarfr + + + + + DURATION + + + com.sun.star.sheet.addin.Analysis.getDuration + + + + + EDATE + + + com.sun.star.sheet.addin.Analysis.getEdate + + + + + EFFECT + + + com.sun.star.sheet.addin.Analysis.getEffect + + + + + EOMONTH + + + com.sun.star.sheet.addin.Analysis.getEomonth + + + + + ERF + + + com.sun.star.sheet.addin.Analysis.getErf + + + + + ERFC + + + com.sun.star.sheet.addin.Analysis.getErfc + + + + + FACTDOUBLE + + + com.sun.star.sheet.addin.Analysis.getFactdouble + + + + + FVSCHEDULE + + + com.sun.star.sheet.addin.Analysis.getFvschedule + + + + + GCD + + + com.sun.star.sheet.addin.Analysis.getGcd + + + + + GESTEP + + + com.sun.star.sheet.addin.Analysis.getGestep + + + + + HEX2BIN + + + com.sun.star.sheet.addin.Analysis.getHex2Bin + + + + + HEX2DEC + + + com.sun.star.sheet.addin.Analysis.getHex2Dec + + + + + HEX2OCT + + + com.sun.star.sheet.addin.Analysis.getHex2Oct + + + + + IMABS + + + com.sun.star.sheet.addin.Analysis.getImabs + + + + + IMAGINARY + + + com.sun.star.sheet.addin.Analysis.getImaginary + + + + + IMARGUMENT + + + com.sun.star.sheet.addin.Analysis.getImargument + + + + + IMCONJUGATE + + + com.sun.star.sheet.addin.Analysis.getImconjugate + + + + + IMCOS + + + com.sun.star.sheet.addin.Analysis.getImcos + + + + + IMCOSH + + + com.sun.star.sheet.addin.Analysis.getImcosh + + + + + IMCOT + + + com.sun.star.sheet.addin.Analysis.getImcot + + + + + IMCSC + + + com.sun.star.sheet.addin.Analysis.getImcsc + + + + + IMCSCH + + + com.sun.star.sheet.addin.Analysis.getImcsch + + + + + IMDIV + + + com.sun.star.sheet.addin.Analysis.getImdiv + + + + + IMEXP + + + com.sun.star.sheet.addin.Analysis.getImexp + + + + + IMLN + + + com.sun.star.sheet.addin.Analysis.getImln + + + + + IMLOG10 + + + com.sun.star.sheet.addin.Analysis.getImlog10 + + + + + IMLOG2 + + + com.sun.star.sheet.addin.Analysis.getImlog2 + + + + + IMPOWER + + + com.sun.star.sheet.addin.Analysis.getImpower + + + + + IMPRODUCT + + + com.sun.star.sheet.addin.Analysis.getImproduct + + + + + IMREAL + + + com.sun.star.sheet.addin.Analysis.getImreal + + + + + IMSEC + + + com.sun.star.sheet.addin.Analysis.getImsec + + + + + IMSECH + + + com.sun.star.sheet.addin.Analysis.getImsech + + + + + Imsin + + + com.sun.star.sheet.addin.Analysis.getImsin + + + + + IMSINH + + + com.sun.star.sheet.addin.Analysis.getImsinh + + + + + IMSQRT + + + com.sun.star.sheet.addin.Analysis.getImsqrt + + + + + IMSUB + + + com.sun.star.sheet.addin.Analysis.getImsub + + + + + IMSUM + + + com.sun.star.sheet.addin.Analysis.getImsum + + + + + IMTAN + + + com.sun.star.sheet.addin.Analysis.getImtan + + + + + INTRATE + + + com.sun.star.sheet.addin.Analysis.getIntrate + + + + + ISEVEN + + + com.sun.star.sheet.addin.Analysis.getIseven + + + + + ISODD + + + com.sun.star.sheet.addin.Analysis.getIsodd + + + + + LCM + + + com.sun.star.sheet.addin.Analysis.getLcm + + + + + MDURATION + + + com.sun.star.sheet.addin.Analysis.getMduration + + + + + MROUND + + + com.sun.star.sheet.addin.Analysis.getMround + + + + + MULTINOMIAL + + + com.sun.star.sheet.addin.Analysis.getMultinomial + + + + + NETWORKDAYS + + + com.sun.star.sheet.addin.Analysis.getNetworkdays + + + + + NOMINAL + + + com.sun.star.sheet.addin.Analysis.getNominal + + + + + OCT2BIN + + + com.sun.star.sheet.addin.Analysis.getOct2Bin + + + + + OCT2DEC + + + com.sun.star.sheet.addin.Analysis.getOct2Dec + + + + + OCT2HEX + + + com.sun.star.sheet.addin.Analysis.getOct2Hex + + + + + ODDFPRICE + + + com.sun.star.sheet.addin.Analysis.getOddfprice + + + + + ODDFYIELD + + + com.sun.star.sheet.addin.Analysis.getOddfyield + + + + + ODDLPRICE + + + com.sun.star.sheet.addin.Analysis.getOddlprice + + + + + ODDLYIELD + + + com.sun.star.sheet.addin.Analysis.getOddlyield + + + + + PRICE + + + com.sun.star.sheet.addin.Analysis.getPrice + + + + + PRICEDISC + + + com.sun.star.sheet.addin.Analysis.getPricedisc + + + + + PRICEMAT + + + com.sun.star.sheet.addin.Analysis.getPricemat + + + + + QUOTIENT + + + com.sun.star.sheet.addin.Analysis.getQuotient + + + + + RANDBETWEEN + + + com.sun.star.sheet.addin.Analysis.getRandbetween + + + + + RECEIVED + + + com.sun.star.sheet.addin.Analysis.getReceived + + + + + SERIESSUM + + + com.sun.star.sheet.addin.Analysis.getSeriessum + + + + + SQRTPI + + + com.sun.star.sheet.addin.Analysis.getSqrtpi + + + + + TBILLEQ + + + com.sun.star.sheet.addin.Analysis.getTbilleq + + + + + TBILLPRICE + + + com.sun.star.sheet.addin.Analysis.getTbillprice + + + + + TBILLYIELD + + + com.sun.star.sheet.addin.Analysis.getTbillyield + + + + + WEEKNUM + + + com.sun.star.sheet.addin.Analysis.getWeeknum + + + + + WORKDAY + + + com.sun.star.sheet.addin.Analysis.getWorkday + + + + + XIRR + + + com.sun.star.sheet.addin.Analysis.getXirr + + + + + XNPV + + + com.sun.star.sheet.addin.Analysis.getXnpv + + + + + YEARFRAC + + + com.sun.star.sheet.addin.Analysis.getYearfrac + + + + + YIELD + + + com.sun.star.sheet.addin.Analysis.getYield + + + + + YIELDDISC + + + com.sun.star.sheet.addin.Analysis.getYielddisc + + + + + YIELDMAT + + + com.sun.star.sheet.addin.Analysis.getYieldmat + + +
+
+ +
+ +
-- cgit