Nápověda LibreOffice 24.8
Kromě nativních funkcí jazyka BASIC je možné z maker a skriptů volat funkce aplikace Calc a nastavovat je ve vzorcích v buňkách.
Pro přístup ke službě com.sun.star.sheet.FunctionAccess použijte funkci CreateUnoService.
V následujícím příkladu je vytvořena funkce pojmenovaná MyVlook, která zavolá funkci Calcu VLOOKUP pro pole dat předané jako argument a vrátí hodnotu touto funkcí nalezenou.
    Function MyVlook(Lookup, DataArray As Object, Index As Integer, SortedRangeLookup as Byte)
        Dim oService As Object
        Set oService = CreateUnoService("com.sun.star.sheet.FunctionAccess")
        ' Vždy používejte anglický název funkce
        MyVlook = oService.callFunction("VLOOKUP", Array(Lookup, DataArray, Index, SortedRangeLookup))
    End Function
  Následující příklad udává, jak se má funkce MyVlook volat. Nejprve se vytvoří pole dat 5 × 2, poté se zavolá funkce MyVlook a pomocí MsgBox se zobrazí návratová hodnota.
    Sub CallingMyVlook()
        ' Vytvoří pole 5 × 2 a naplní jej daty
        Dim myData(1 to 5, 1 to 2) as Variant
        myData(1, 1) = 1 : myData(1, 2) = "Rozhodně nesouhlasím"
        myData(2, 1) = 3 : myData(2, 2) = "Nesouhlasím"
        myData(3, 1) = 5 : myData(3, 2) = "Nevím"
        myData(4, 1) = 7 : myData(4, 2) = "Souhlasím"
        myData(5, 1) = 9 : myData(5, 2) = "Rozhodně souhlasím"
        ' Prohledá pole dat
        Dim result as String
        result = MyVlook(4, myData, 2, 1)
        ' Zobrazí zprávu "Nesouhlasím"
        MsgBox result
    End Sub
  Vzorec přidáte do buňky sešitu jako textový řetězec.
Všechny funkce Calcu musí být zapsány pomocí anglických názvů.
Sub AssignFormulaToCell
REM Přidá vzorec do buňky A1.Název funkce musí být v angličtině.
    oCell = ThisComponent.Sheets.getByIndex(0).getCellRangeByName("A1")
    oCell.Formula = "=SUM(B1:B10)"
REM V buňce A1 se zobrazí lokalizovaný název funkce (v češtině však názvy lokalizovány nejsou)
End Sub
Funkce z doplňků Calcu poskytují služby UNO com.sun.star.sheet.addin.Analysis, com.sun.star.sheet.addin.DateFunctions a com.sun.star.sheet.addin.PricingFunctions.
REM Příklad voláni funkce SQRTPI z doplňku
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
Funkci z doplňku je nutné vyjádřit názvem její služby UNO.
Sub AssignAddInFormulaToCell
REM Přidá funkci doplňku do buňky A1. Názvem funkce je název služby UNO.
    oCell = ThisComponent.Sheets.getByIndex(0).getCellRangeByName("A1")
    oCell.Formula = "=com.sun.star.sheet.addin.Analysis.getBin2Dec(B1)"
REM V buňce A1 se zobrazí lokalizovaný název funkce (v češtině však názvy lokalizovány nejsou)
End Sub
Následující tabulka udává seznam všech funkcí z doplňku Calcu Analysis a jim odpovídajících názvů služeb UNO.
| Název funkce Calcu | Název služby UNO | 
|---|---|
| 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 | 
Následující tabulka udává seznam všech funkcí z doplňku Calcu Date a jim odpovídajících názvů služeb UNO.
| Název funkce Calcu | Název služby UNO | 
|---|---|
| DAYSINMONTH | com.sun.star.sheet.addin.DateFunctions.getDaysInMonth | 
| DAYSINYEAR | com.sun.star.sheet.addin.DateFunctions.getDaysInMonth | 
| MONTHS | com.sun.star.sheet.addin.DateFunctions.getDiffMonths | 
| WEEKS | com.sun.star.sheet.addin.DateFunctions.getDiffWeeks | 
| YEARS | com.sun.star.sheet.addin.DateFunctions.getDiffYears | 
| ROT13 | com.sun.star.sheet.addin.DateFunctions.getRot13 | 
| WEEKSINYEAR | com.sun.star.sheet.addin.DateFunctions.getWeeksInYear | 
Následující tabulka udává seznam všech funkcí z doplňku Calcu Pricing a jim odpovídajících názvů služeb UNO.
| Název funkce Calcu | Název služby UNO | 
|---|---|
| OPT_BARRIER | com.sun.star.sheet.addin.PrincingFunctions.getOptBarrier | 
| OPT_PROB_HIT | com.sun.star.sheet.addin.PrincingFunctions.getOptProbHit | 
| OPT_PROB_INMONEY | com.sun.star.sheet.addin.PrincingFunctions.getOptProbInMoney | 
| OPT_TOUCH | com.sun.star.sheet.addin.PrincingFunctions.getOptTouch |