Paggamit ng Calc Function sa Macros

Bilang karagdagan sa mga katutubong BASIC function, maaari mong tawagan ang mga function ng Calc sa iyong mga macro at script at itakda ang mga function ng Calc sa mga formula ng cell.

Ang pagtawag sa mga function ng Internal Calc sa Basic

Gamitin ang CreateUnoService function upang ma-access ang com.sun.star.sheet.FunctionAccess serbisyo.

Halimbawa:

Ang halimbawa sa ibaba ay lumilikha ng isang function na pinangalanan MyVlook na ang tawag sa VLOOKUP Pag-andar ng Calc sa isang array ng data na ipinasa bilang argumento at ibinabalik ang halaga na natagpuan ng 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")
        ' Palaging gamitin ang pangalan ng function sa Ingles
        MyVlook = oService.callFunction("VLOOKUP", Array(Lookup, DataArray, Index, SortedRangeLookup))
    End Function
  

Ang macro sa ibaba ay nagpapakita ng isang halimbawa kung paano ang MyVlook function ay maaaring tawagin. Una itong lumilikha ng 5-by-2 na array ng data at pagkatapos ay tinatawagan ang function MyVlook at ipinapakita ang ibinalik na halaga gamit MsgBox .


    Sub CallingMyVlook()
        ' Lumilikha ng 5 by 2 array at pinupuno ito ng data
        Dim myData(1 to 5, 1 to 2) as Variant
        myData(1, 1) = 1 : myData(1, 2) = "Lubos na hindi sumasang-ayon"
        myData(2, 1) = 3 : myData(2, 2) = "Hindi Sumasang-ayon"
        myData(3, 1) = 5 : myData(3, 2) = "Undecided"
        myData(4, 1) = 7 : myData(4, 2) = "Sumasang-ayon"
        myData(5, 1) = 9 : myData(5, 2) = "Lubos na sumasang-ayon"
        ' Hinahanap ang hanay ng data
        Dim result as String
        result = MyVlook(4, myData, 2, 1)
        ' Ipinapakita ang mensaheng "Hindi sumasang-ayon"
        MsgBox result
    End Sub
  

Pagtatakda ng Mga Formula ng Cell na Naglalaman ng Mga Panloob na Paggana ng Calc

Gamitin ang string ng formula text para magdagdag ng formula sa isang spreadsheet cell.

note

Ang lahat ng mga function ng Calc ay dapat ipahayag sa kanilang mga pangalan sa Ingles.


Halimbawa:


Sub AssignFormulaToCell
REM Magdagdag ng formula sa cell A1. Ang pangalan ng function ay dapat nasa English.
    oCell = ThisComponent.Sheets.getByIndex(0).getCellRangeByName("A1")
    oCell.Formula = "=SUM(B1:B10)"
Ipinapakita ng REM Cell A1 ang naisalokal na pangalan ng function
End Sub

Pagtawag sa Add-In Calc Function sa BASIC

Ang mga function ng Calc Add-In ay nasa mga serbisyo ng UNO com.sun.star.sheet.addin.Analysis , com.sun.star.sheet.addin.DateFunctions at com.sun.star.sheet.addin.PricingFunctions .

Halimbawa:


Halimbawa ng REM na pagtawag sa Add-in function na SQRTPI
Function ang MySQRTPI(arg as double) bilang double
   Dim oService as Object
   oService = CreateUnoService("com.sun.star.sheet.addin.Analysis")
   MySQRTPI = oService.getSqrtPi(arg)
End Function

Pagtatakda ng mga Cell Formula na may Add-In Function

Ang Add-In function ay dapat na ipahayag ng pangalan ng serbisyo nito sa UNO.

Halimbawa:


Sub AssignAddInFormulaToCell
REM Magdagdag ng Add-In formula sa cell A1. Ang pangalan ng function ay ang pangalan ng serbisyo ng UNO.
    oCell = ThisComponent.Sheets.getByIndex(0).getCellRangeByName("A1")
    oCell.Formula = "=com.sun.star.sheet.addin.Analysis.getBin2Dec(B1)"
Ipinapakita ng REM Cell A1 ang naisalokal na pangalan ng function
End Sub

Mga Pangalan ng Serbisyo ng UNO para sa Pagsusuri ng Add-In Function

Ang talahanayan sa ibaba ay nagpapakita ng isang listahan ng lahat ng Calc Analysis Add-In function at ang kani-kanilang pangalan ng serbisyo ng UNO.

Pangalan ng Function ng Calc

Pangalan ng serbisyo ng 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

KOMPLEX

com.sun.star.sheet.addin.Analysis.getComplex

MAG-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

COUPCD

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

EPEKTO

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

INTRATO

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

NATANGGAP

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

ARAW NG TRABAHO

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

MAGBIGAY

com.sun.star.sheet.addin.Analysis.getYield

YIELDDISC

com.sun.star.sheet.addin.Analysis.getYielddisc

YIELDMAT

com.sun.star.sheet.addin.Analysis.getYieldmat


Mga Pangalan ng Serbisyo ng UNO para sa Mga Pag-andar ng Add-In ng Petsa

Ang talahanayan sa ibaba ay nagpapakita ng isang listahan ng lahat ng Calc Date Add-In function at ang kani-kanilang mga pangalan ng serbisyo ng UNO.

Pangalan ng Function ng Calc

Pangalan ng serbisyo ng UNO

DAYSINMONTH

com.sun.star.sheet.addin.DateFunctions.getDaysInMonth

DAYSINYEAR

com.sun.star.sheet.addin.DateFunctions.getDaysInMonth

MGA BUWAN

com.sun.star.sheet.addin.DateFunctions.getDiffMonths

LINGGO

com.sun.star.sheet.addin.DateFunctions.getDiffWeeks

TAON

com.sun.star.sheet.addin.DateFunctions.getDiffYears

ROT13

com.sun.star.sheet.addin.DateFunctions.getRot13

WEEKSIYEAR

com.sun.star.sheet.addin.DateFunctions.getWeeksInYear


Mga Pangalan ng Serbisyo ng UNO para sa Mga Pag-andar ng Add-In sa Pagpepresyo

Ang talahanayan sa ibaba ay nagpapakita ng isang listahan ng lahat ng Calc Pricing Add-In function at ang kani-kanilang pangalan ng serbisyo ng UNO.

Pangalan ng Function ng Calc

Pangalan ng serbisyo ng 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


Mangyaring suportahan kami!