Ayuda de LibreOffice 24.8
In addition to the native BASIC functions, you can call Calc functions in your macros and scripts and set Calc functions in cell formulas.
Use the CreateUnoService function to access the com.sun.star.sheet.FunctionAccess service.
The example below creates a function named MyVlook that calls the VLOOKUP Calc function over a data array passed as argument and returns the value found by the function.
    Function MyVlook(Lookup, DataArray As Object, Index As Integer, SortedRangeLookup as Byte)
        Dim oService As Object
        Set oService = CreateUnoService("com.sun.star.sheet.FunctionAccess")
        ' Utilice siempre el nombre inglés de la función
        MyVlook = oService.callFunction("VLOOKUP", Array(Lookup, DataArray, Index, SortedRangeLookup))
    End Function
  The macro below presents an example of how the MyVlook function can be called. It first creates a 5-by-2 data array and then calls the function MyVlook and shows the returned value using MsgBox.
    Sub CallingMyVlook()
        ' Creates a 5 by 2 array and fills it with data
        Dim myData(1 to 5, 1 to 2) as Variant
        myData(1, 1) = 1 : myData(1, 2) = "En total desacuerdo"
        myData(2, 1) = 3 : myData(2, 2) = "En desacuerdo"
        myData(3, 1) = 5 : myData(3, 2) = "Indeciso"
        myData(4, 1) = 7 : myData(4, 2) = "De acuerdo"
        myData(5, 1) = 9 : myData(5, 2) = "Totalmente de acuerdo"
        ' Busca la matriz de datos
        Dim result as String
        result = MyVlook(4, myData, 2, 1)
        ' Muestra el mensaje «En desacuerdo»
        MsgBox result
    End Sub
  Use the formula text string to add a formula to a spreadsheet cell.
Todas las funciones de Calc deben expresarse con los nombres en inglés.
Sub AssignFormulaToCell
REM Add a formula to cell A1. Function name must be in English.
    oCell = ThisComponent.Sheets.getByIndex(0).getCellRangeByName("A1")
    oCell.Formula = "=SUM(B1:B10)"
REM Cell A1 displays the localized function name
End Sub
The Calc Add-In functions are in the UNO services com.sun.star.sheet.addin.Analysis, com.sun.star.sheet.addin.DateFunctions and com.sun.star.sheet.addin.PricingFunctions.
REM Example calling Add-in 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
The Add-In function must be expressed by its UNO service name.
Sub AssignAddInFormulaToCell
REM Add an Add-In formula to cell A1. Function name is the UNO service name.
    oCell = ThisComponent.Sheets.getByIndex(0).getCellRangeByName("A1")
    oCell.Formula = "=com.sun.star.sheet.addin.Analysis.getBin2Dec(B1)"
REM Cell A1 displays the localized function name
End Sub
The table below presents a list of all Calc Analysis Add-In functions and their respective UNO service names.
| Nombre de función de Calc | Nombre de servicio de UNO | 
|---|---|
| INT.ACUM | com.sun.star.sheet.addin.Analysis.getAccrint | 
| INT.ACUM.V | com.sun.star.sheet.addin.Analysis.getAccrintm | 
| AMORTIZ.PROGRE | com.sun.star.sheet.addin.Analysis.getAmordegrc | 
| AMORTIZ.LIN | 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 | 
| BIN.A.DEC | com.sun.star.sheet.addin.Analysis.getBin2Dec | 
| BIN.A.HEX | com.sun.star.sheet.addin.Analysis.getBin2Hex | 
| BIN.A.OCT | com.sun.star.sheet.addin.Analysis.getBin2Oct | 
| COMPLEJO | com.sun.star.sheet.addin.Analysis.getComplex | 
| CONVERTIR | com.sun.star.sheet.addin.Analysis.getConvert | 
| CUPON.DIAS.L1 | com.sun.star.sheet.addin.Analysis.getCoupdaybs | 
| CUPON.DIAS | com.sun.star.sheet.addin.Analysis.getCoupdays | 
| CUPON.DIAS.L2 | com.sun.star.sheet.addin.Analysis.getCoupdaysnc | 
| CUPON.FECHA.L2 | com.sun.star.sheet.addin.Analysis.getCoupncd | 
| CUPON.NUM | com.sun.star.sheet.addin.Analysis.getCoupnum | 
| CUPON.FECHA.L1 | com.sun.star.sheet.addin.Analysis.getCouppcd | 
| PAGO.INT.ENTRE | com.sun.star.sheet.addin.Analysis.getCumipmt | 
| PAGO.PRINC.ENTRE | com.sun.star.sheet.addin.Analysis.getCumprinc | 
| DEC.A.BIN | com.sun.star.sheet.addin.Analysis.getDec2Bin | 
| DEC.A.HEX | com.sun.star.sheet.addin.Analysis.getDec2Hex | 
| DEC.A.OCT | com.sun.star.sheet.addin.Analysis.getDec2Oct | 
| DELTA | com.sun.star.sheet.addin.Analysis.getDelta | 
| TASA.DESC | com.sun.star.sheet.addin.Analysis.getDisc | 
| MONEDA.DEC | com.sun.star.sheet.addin.Analysis.getDollarde | 
| MONEDA.FRAC | com.sun.star.sheet.addin.Analysis.getDollarfr | 
| DURACION | com.sun.star.sheet.addin.Analysis.getDuration | 
| FECHA.MES | com.sun.star.sheet.addin.Analysis.getEdate | 
| INT.EFECTIVO | com.sun.star.sheet.addin.Analysis.getEffect | 
| FIN.MES | com.sun.star.sheet.addin.Analysis.getEomonth | 
| FUN.ERROR | com.sun.star.sheet.addin.Analysis.getErf | 
| FUN.ERROR.COMPL | com.sun.star.sheet.addin.Analysis.getErfc | 
| FACT.DOBLE | com.sun.star.sheet.addin.Analysis.getFactdouble | 
| VF.PLAN | com.sun.star.sheet.addin.Analysis.getFvschedule | 
| M.C.D | com.sun.star.sheet.addin.Analysis.getGcd | 
| MAYOR.O.IGUAL | com.sun.star.sheet.addin.Analysis.getGestep | 
| HEX.A.BIN | com.sun.star.sheet.addin.Analysis.getHex2Bin | 
| HEX.A.DEC | com.sun.star.sheet.addin.Analysis.getHex2Dec | 
| HEX.A.OCT | com.sun.star.sheet.addin.Analysis.getHex2Oct | 
| IM.ABS | com.sun.star.sheet.addin.Analysis.getImabs | 
| IMAGINARIO | com.sun.star.sheet.addin.Analysis.getImaginary | 
| IM.ANGULO | com.sun.star.sheet.addin.Analysis.getImargument | 
| IM.CONJUGADA | com.sun.star.sheet.addin.Analysis.getImconjugate | 
| IM.COS | com.sun.star.sheet.addin.Analysis.getImcos | 
| IM.COSH | com.sun.star.sheet.addin.Analysis.getImcosh | 
| IM.COT | com.sun.star.sheet.addin.Analysis.getImcot | 
| IM.CSC | com.sun.star.sheet.addin.Analysis.getImcsc | 
| IM.CSCH | com.sun.star.sheet.addin.Analysis.getImcsch | 
| IM.DIV | com.sun.star.sheet.addin.Analysis.getImdiv | 
| IM.EXP | com.sun.star.sheet.addin.Analysis.getImexp | 
| IM.LN | com.sun.star.sheet.addin.Analysis.getImln | 
| IM.LOG10 | com.sun.star.sheet.addin.Analysis.getImlog10 | 
| IM.LOG2 | com.sun.star.sheet.addin.Analysis.getImlog2 | 
| IM.POT | 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 | 
| ALEATORIO.ENTRE | com.sun.star.sheet.addin.Analysis.getRandbetween | 
| RECEIVED | com.sun.star.sheet.addin.Analysis.getReceived | 
| SUMA.SERIES | 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 | 
| NUM.DE.SEMANA | com.sun.star.sheet.addin.Analysis.getWeeknum | 
| WORKDAY | com.sun.star.sheet.addin.Analysis.getWorkday | 
| XIRR | com.sun.star.sheet.addin.Analysis.getXirr | 
| VNA.NO.PER | com.sun.star.sheet.addin.Analysis.getXnpv | 
| YEARFRAC | com.sun.star.sheet.addin.Analysis.getYearfrac | 
| RENDTO | com.sun.star.sheet.addin.Analysis.getYield | 
| YIELDDISC | com.sun.star.sheet.addin.Analysis.getYielddisc | 
| YIELDMAT | com.sun.star.sheet.addin.Analysis.getYieldmat | 
The table below presents a list of all Calc Date Add-In functions and their respective UNO service names.
| Nombre de función de Calc | Nombre de servicio de UNO | 
|---|---|
| DIASENMES | com.sun.star.sheet.addin.DateFunctions.getDaysInMonth | 
| DIASENAÑO | com.sun.star.sheet.addin.DateFunctions.getDaysInMonth | 
| MESES | com.sun.star.sheet.addin.DateFunctions.getDiffMonths | 
| SEMANAS | com.sun.star.sheet.addin.DateFunctions.getDiffWeeks | 
| AÑOS | com.sun.star.sheet.addin.DateFunctions.getDiffYears | 
| ROT13 | com.sun.star.sheet.addin.DateFunctions.getRot13 | 
| SEMANASENAÑO | com.sun.star.sheet.addin.DateFunctions.getWeeksInYear | 
The table below presents a list of all Calc Pricing Add-In functions and their respective UNO service names.
| Nombre de función de Calc | Nombre de servicio de 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 |