Edukiak

# Calc funtzioak makroetan erabiltzea

Jatorrizko Basic funtzioez gain, Calc funtzioei ere deitu dakieke makroetatik eta scriptetatik, eta Calc funtzioak ezarri daitezke gelaxka-formuletan.

## Calc-en barneko funtzioei deitzea Basic lengoaian

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

### Adibidea:

Beheko adibidean, VLOOKUP Calc funtzioari deitzen dion eta argumentu gisa datu-matrize bat hartzen duen MyVlook izeneko funtzio bat sortzen da, eta funtzio horrek aurkitutako balioa itzultzen du.

        Function MyVlook(Lookup, DataArray As Object, Index As Integer, SortedRangeLookup as Byte)
            Dim oService As Object
            Set oService = CreateUnoService("com.sun.star.sheet.FunctionAccess")
            ' Erabili beti funtzioaren izena ingelesez
            MyVlook = oService.callFunction("VLOOKUP", Array(Lookup, DataArray, Index, SortedRangeLookup))
        End Function

Beheko makroak erakusten du nola MyVlook funtzioari deitu dakiokeen. Hasteko, 5x2 datu-matrize bat sortzen du eta, ondoren, MyVlook funtzioari deitzen dio eta itzulitako balioa MsgBox koadro batean erakusten du.

        Sub CallingMyVlook()
            ' 5x2 tamainako matrize bat sortzen du eta datuekin betetzen du
            Dim myData(1 to 5, 1 to 2) as Variant
            myData(1, 1) = 1 : myData(1, 2) = "Erabat desados"
            myData(2, 1) = 3 : myData(2, 2) = "Desados"
            myData(3, 1) = 5 : myData(3, 2) = "Zalantzan"
            myData(4, 1) = 7 : myData(4, 2) = "Ados"
            myData(5, 1) = 9 : myData(5, 2) = "Erabat ados"
            ' Datu-matrizea kontsultatzen du
            Dim result as String
            result = MyVlook(4, myData, 2, 1)
            ' "Desados" mezua erakusten du
            MsgBox result
        End Sub

## Barneko Calc formulak dituzten gelaxka-formulak ezartzea

Erabili formularen testu-katea kalkulu-orri bateko gelaxka bati formula bat gehitzeko.

Calc funtzio guztiak ingelesezko izenekin adierazi behar dira.

### Adibidea:

    Sub AssignFormulaToCell
    REM Gehitu formula bat A1 gelaxkari. Funtzioaren izenak ingelesez egon behar du.
        oCell = ThisComponent.Sheets.getByIndex(0).getCellRangeByName("A1")
        oCell.Formula = "=SUM(B1:B10)"
    REM A1 gelaxkak funtzio-izen lokalizatua bistaratzen du
    End Sub

## Osagarrien Calc funtzioei deitzea Basic lengoaian

Calc aplikazioaren osagarri-funtzioak com.sun.star.sheet.addin.Analysis, com.sun.star.sheet.addin.DateFunctions eta com.sun.star.sheet.addin.PricingFunctions UNO zerbitzuetan daude.

### Adibidea:

    REM Osagarrien SQRTPI funtzioari deitzen dion adibidea
    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

## Gelaxka-formulak osagarri-funtzioekin ezartzea

Osagarri-funtzioa bere UNO zerbitzu-izenaren bidez adierazi behar da.

### Adibidea:

    Sub AssignAddInFormulaToCell
    REM Gehitu osagarri-formula bat A1 gelaxkari. Funtzioaren izena UNO zerbitzu-izena da.
        oCell = ThisComponent.Sheets.getByIndex(0).getCellRangeByName("A1")
        oCell.Formula = "=com.sun.star.sheet.addin.Analysis.getBin2Dec(B1)"
    REM A1 gelaxkak funtzio-izen lokalizatua bistaratzen du
    End Sub

## Analisirako osagarri-funtzioen UNO zerbitzu-izenak

Beheko taulan, Calc aplikazioak analisirako dituen osagarri-funtzio guztien zerrenda eta bakoitzari dagokion UNO zerbitzu-izena ikusi daiteke.

Calc funtzio-izena | UNO zerbitzu-izena
--- | ---
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

## Datetarako osagarri-funtzioen UNO zerbitzu-izenak

Beheko taulan, Calc aplikazioak datetarako dituen osagarri-funtzio guztien zerrenda eta bakoitzari dagokion UNO zerbitzu-izena ikusi daiteke.

Calc funtzio-izena | UNO zerbitzu-izena
--- | ---
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

## Prezioetarako osagarri-funtzioen UNO zerbitzu-izenak

Beheko taulan, Calc aplikazioak prezioetarako dituen osagarri-funtzio guztien zerrenda eta bakoitzari dagokion UNO zerbitzu-izena ikusi daiteke.

Calc funtzioaren izena | UNO zerbitzuaren izena
--- | ---
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

Erlazionatutako gaiak

CreateUnoService funtzioa