Calc-Funktionen in Macros verwenden

Zus├Ątzlich zu den nativen BASIC-Funktionen k├Ânnen Sie Calc-Funktionen in Ihren Makros und Skripten aufrufen und Calc-Funktionen in Zellformeln setzen.

Aufrufen von internen Calc-Funktionen in Basic

Verwenden Sie die Funktion CreateUNOService, um auf den Dienst com.sun.star.sheet.FunctionAccess zuzugreifen.

Beispiel:

Das folgende Beispiel erstellt eine Funktion namens MyVlook, welche die Calc-Funktion SVERWEIS ├╝ber ein als Argument ├╝bergebenes Datenarray aufruft und den von der Funktion gefundenen Wert zur├╝ckgibt.


    Function MyVlook(Lookup, DataArray As Object, Index As Integer, SortedRangeLookup as Byte)
        Dim oService As Object
        Set oService = createUnoService("com.sun.star.sheet.FunctionAccess")
        ' Verwenden Sie den Funktionsnamen immer auf Englisch
        MyVlook = oService.callFunction("VLOOKUP", Array(Lookup, DataArray, Index, SortedRangeLookup))
    End Function
  

Das folgende Makro zeigt ein Beispiel daf├╝r, wie die Funktion MyVlook aufgerufen werden kann. Es erstellt zuerst eine 5-mal-2-Datenmatrix, ruft dann die Funktion MyVlook auf und zeigt den zur├╝ckgegebenen Wert mit MsgBox an.


    Sub CallingMyVlook()
        ' Erstellt ein 5 x 2 Array und f├╝llt es mit Daten
        Dim myData(1 to 5, 1 to 2) as Variant
        myData(1, 1) = 1 : myData(1, 2) = "Stimme ├╝berhaupt nicht zu"
        myData(2, 1) = 3 : myData(2, 2) = "Stimme nicht zu"
        myData(3, 1) = 5 : myData(3, 2) = "unentschieden"
        myData(4, 1) = 7 : myData(4, 2) = "Stimme zu"
        myData(5, 1) = 9 : myData(5, 2) = "Stimme voll und ganz zu"
        ' Durchsucht das Datenarray nach
        Dim result as String
        result = MyVlook(4, myData, 2, 1)
        ' Zeigt die Meldung "Stimme nicht zu"
        MsgBox result
    End Sub
  

Festlegen von Zellformeln, die interne Berechnungsfunktionen enthalten

Verwenden Sie die Formeltextzeichenfolge, um einer Tabellenzelle eine Formel hinzuzuf├╝gen.

note

Alle Calc-Funktionen m├╝ssen mit ihren englischen Namen ausgedr├╝ckt werden.


Beispiel:


Sub AssignFormulaToCell
REM F├╝gt Zelle A1 eine Formel hinzu. Der Funktionsname muss auf Englisch sein.
    oCell = ThisComponent.Sheets.getByIndex(0).getCellRangeByName("A1")
    oCell.Formula = "=SUM(B1:B10)"
REM Zelle A1 zeigt den lokalisierten Funktionsnamen an
End Sub

Aufrufen von Add-In-Berechnungsfunktionen in BASIC

Die Add-In-Funktionen von Calc befinden sich in den UNO-Diensten com.sun.star.sheet.addin.Analysis, com.sun.star.sheet.addin.DateFunctions und com.sun.star.sheet.addin.PricingFunctions.

Beispiel:


REM Beispiel f├╝r den Aufruf der Add-In-Funktion WURZELPI
Function MeineWURZELPI(arg as double) as double
   Dim oService as Object
   oService = createUNOService("com.sun.star.sheet.addin.Analysis")
   MeineWURZELPI = oService.getSqrtPi(arg)
End Function

Festlegen von Zellformeln mit Add-In-Funktionen

Die Add-In-Funktion muss durch ihren UNO-Dienstnamen ausgedr├╝ckt werden.

Beispiel:


Sub AssignAddInFormulaToCell
REM F├╝gt Zelle A1 eine Add-In-Formel hinzu. Funktionsname ist der UNO-Dienstname.
    oCell = ThisComponent.Sheets.getByIndex(0).getCellRangeByName("A1")
    oCell.Formula = "=com.sun.star.sheet.addin.Analysis.getBin2Dec(B1)"
REM Zelle A1 zeigt den lokalisierten Funktionsnamen an
End Sub

Namen des UNO-Diensts der Add-In-Funktionen f├╝r Analysis

Die folgende Tabelle zeigt eine Liste aller Add-In-Funktionen f├╝r Analysis von Calc und ihrer jeweiligen UNO-Dienstnamen.

Funktionsname in Calc

Name des UNO-Diensts

AUFGELZINS

com.sun.star.sheet.addin.Analysis.getAccrint

AUFGELZINSF

com.sun.star.sheet.addin.Analysis.getAccrintm

AMORDEGRK

com.sun.star.sheet.addin.Analysis.getAmordegrc

AMORLINEARK

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

BININDEZ

com.sun.star.sheet.addin.Analysis.getBin2Dec

BININHEX

com.sun.star.sheet.addin.Analysis.getBin2Hex

BININOKT

com.sun.star.sheet.addin.Analysis.getBin2Oct

KOMPLEXE

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

UMRECHNEN

com.sun.star.sheet.addin.Analysis.getConvert

ZINSTERMTAGVA

com.sun.star.sheet.addin.Analysis.getCoupdaybs

ZINSTERMTAGE

com.sun.star.sheet.addin.Analysis.getCoupdays

ZINSTERMTAGNZ

com.sun.star.sheet.addin.Analysis.getCoupdaysnc

ZINSTERMNZ

com.sun.star.sheet.addin.Analysis.getCoupncd

ZINSTERMZAHL

com.sun.star.sheet.addin.Analysis.getCoupnum

ZINSTERMVZ

com.sun.star.sheet.addin.Analysis.getCouppcd

KUMZINSZ

com.sun.star.sheet.addin.Analysis.getCumipmt

KUMKAPITAL

com.sun.star.sheet.addin.Analysis.getCumprinc

DEZINBIN

com.sun.star.sheet.addin.Analysis.getDec2Bin

DEZINHEX

com.sun.star.sheet.addin.Analysis.getDec2Hex

DEZINOKT

com.sun.star.sheet.addin.Analysis.getDec2Oct

DELTA

com.sun.star.sheet.addin.Analysis.getDelta

DISAGIO

com.sun.star.sheet.addin.Analysis.getDisc

NOTIERUNGDEZ

com.sun.star.sheet.addin.Analysis.getDollarde

NOTIERUNGBRU

com.sun.star.sheet.addin.Analysis.getDollarfr

LAUFZEIT

com.sun.star.sheet.addin.Analysis.getDuration

EDATUM

com.sun.star.sheet.addin.Analysis.getEdate

EFFEKTIV

com.sun.star.sheet.addin.Analysis.getEffect

MONATSENDE

com.sun.star.sheet.addin.Analysis.getEomonth

GAUSSFEHLER

com.sun.star.sheet.addin.Analysis.getErf

GAUSSFKOMPL

com.sun.star.sheet.addin.Analysis.getErfc

ZWEIFAKULTÄT

com.sun.star.sheet.addin.Analysis.getFactdouble

ZW2

com.sun.star.sheet.addin.Analysis.getFvschedule

GGT

com.sun.star.sheet.addin.Analysis.getGcd

GGANZZAHL

com.sun.star.sheet.addin.Analysis.getGestep

HEXINBIN

com.sun.star.sheet.addin.Analysis.getHex2Bin

HEXINDEZ

com.sun.star.sheet.addin.Analysis.getHex2Dec

HEXINOKT

com.sun.star.sheet.addin.Analysis.getHex2Oct

IMABS

com.sun.star.sheet.addin.Analysis.getImabs

IMAGINÄRTEIL

com.sun.star.sheet.addin.Analysis.getImaginary

IMARGUMENT

com.sun.star.sheet.addin.Analysis.getImargument

IMKONJUGIERT

com.sun.star.sheet.addin.Analysis.getImconjugate

IMCOS

com.sun.star.sheet.addin.Analysis.getImcos

IMCOSHYP

com.sun.star.sheet.addin.Analysis.getImcosh

IMCOT

com.sun.star.sheet.addin.Analysis.getImcot

IMCOSEC

com.sun.star.sheet.addin.Analysis.getImcsc

IMCOSECHYP

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

IMPOTENZ

com.sun.star.sheet.addin.Analysis.getImpower

IMPRODUKT

com.sun.star.sheet.addin.Analysis.getImproduct

IMREALTEIL

com.sun.star.sheet.addin.Analysis.getImreal

IMSEC

com.sun.star.sheet.addin.Analysis.getImsec

IMSECHYP

com.sun.star.sheet.addin.Analysis.getImsech

IMSIN

com.sun.star.sheet.addin.Analysis.getImsin

IMSINHYP

com.sun.star.sheet.addin.Analysis.getImsinh

IMWURZEL

com.sun.star.sheet.addin.Analysis.getImsqrt

IMSUB

com.sun.star.sheet.addin.Analysis.getImsub

IMSUMME

com.sun.star.sheet.addin.Analysis.getImsum

IMTAN

com.sun.star.sheet.addin.Analysis.getImtan

ZINSSATZ

com.sun.star.sheet.addin.Analysis.getIntrate

ISTGERADE

com.sun.star.sheet.addin.Analysis.getIseven

ISTUNGERADE

com.sun.star.sheet.addin.Analysis.getIsodd

KGV

com.sun.star.sheet.addin.Analysis.getLcm

MLAUFZEIT

com.sun.star.sheet.addin.Analysis.getMduration

VRUNDEN

com.sun.star.sheet.addin.Analysis.getMround

POLYNOMIAL

com.sun.star.sheet.addin.Analysis.getMultinomial

NETTOARBEITSTAGE

com.sun.star.sheet.addin.Analysis.getNetworkdays

NOMINAL

com.sun.star.sheet.addin.Analysis.getNominal

OKTINBIN

com.sun.star.sheet.addin.Analysis.getOct2Bin

OKTINDEZ

com.sun.star.sheet.addin.Analysis.getOct2Dec

OKTINHEX

com.sun.star.sheet.addin.Analysis.getOct2Hex

UNREGERKURS

com.sun.star.sheet.addin.Analysis.getOddfprice

UNREGERREND

com.sun.star.sheet.addin.Analysis.getOddfyield

UNREGLEKURS

com.sun.star.sheet.addin.Analysis.getOddlprice

UNREGLEREND

com.sun.star.sheet.addin.Analysis.getOddlyield

KURS

com.sun.star.sheet.addin.Analysis.getPrice

KURSDISAGIO

com.sun.star.sheet.addin.Analysis.getPricedisc

KURSFÄLLIG

com.sun.star.sheet.addin.Analysis.getPricemat

QUOTIENT

com.sun.star.sheet.addin.Analysis.getQuotient

ZUFALLSBEREICH

com.sun.star.sheet.addin.Analysis.getRandbetween

AUSZAHLUNG

com.sun.star.sheet.addin.Analysis.getReceived

POTENZREIHE

com.sun.star.sheet.addin.Analysis.getSeriessum

WURZELPI

com.sun.star.sheet.addin.Analysis.getSqrtpi

TBILLÄQUIV

com.sun.star.sheet.addin.Analysis.getTbilleq

TBILLKURS

com.sun.star.sheet.addin.Analysis.getTbillprice

TBILLRENDITE

com.sun.star.sheet.addin.Analysis.getTbillyield

KALENDERWOCHE

com.sun.star.sheet.addin.Analysis.getWeeknum

ARBEITSTAG

com.sun.star.sheet.addin.Analysis.getWorkday

XINTZINSFUSS

com.sun.star.sheet.addin.Analysis.getXirr

XKAPITALWERT

com.sun.star.sheet.addin.Analysis.getXnpv

BRTEILJAHRE

com.sun.star.sheet.addin.Analysis.getYearfrac

RENDITE

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

RENDITEDIS

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

RENDITEFÄLL

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


Namen des UNO-Diensts der Add-In-Funktionen f├╝r Daten

Die folgende Tabelle zeigt eine Liste aller Add-In-Funktionen f├╝r Daten von Calc und ihrer jeweiligen UNO-Dienstnamen.

Funktionsname in Calc

Name des UNO-Diensts

TAGEIMMONAT

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

TAGEIMJAHR

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

MONATE

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

WOCHEN

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

JAHRE

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

ROT13

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

WOCHENIMJAHR

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


Namen des UNO-Diensts der Add-In-Funktionen f├╝r Preisgestaltung

Die folgende Tabelle zeigt eine Liste aller Add-In-Funktionen f├╝r Preisgestaltung von Calc und ihrer jeweiligen UNO-Dienstnamen.

Funktionsname in Calc

Name des UNO-Diensts

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


Bitte unterst├╝tzen Sie uns!