Option Explicit Global g_MasterScriptProvider as Object Function invokePyFunc(file AS String, func As String, args As Array, outIdxs As Array, outArgs As Array) Dim sURL As String Dim oMSP As Object Dim oScript As Object sURL = "vnd.sun.star.script:" & file & ".py$" & func & "?language=Python&location=user" oMSP = getMasterScriptProvider() oScript = oMSP.getScript(sURL) invokePyFunc = oScript.invoke(args, outIdxs, outArgs) end Function Function getMasterScriptProvider() Dim oMasterScriptProviderFactory As Object if isNull(g_MasterScriptProvider) then oMasterScriptProviderFactory = createUnoService("com.sun.star.script.provider.MasterScriptProviderFactory") g_MasterScriptProvider = oMasterScriptProviderFactory.createScriptProvider("") endif getMasterScriptProvider = g_MasterScriptProvider End Function Function barwert(zins, daten, zahlungen, basisdatum, enddatum, startzahlung, endzahlung) barwert = invokePyFunc("zinsfuss", "barwert", _ Array(zins, daten, zahlungen, basisdatum, enddatum, startzahlung, endzahlung), _ Array(), Array()) End Function Function endwert(zins, daten, zahlungen, basisdatum, enddatum, startzahlung, endzahlung) endwert = invokePyFunc("zinsfuss", "endwert", _ Array(zins, daten, zahlungen, basisdatum, enddatum, startzahlung, endzahlung), _ Array(), Array()) End Function Function zinsfuss(daten, zahlungen, basisdatum, enddatum, startzahlung, endzahlung) zinsfuss = invokePyFunc("zinsfuss", "zinsfuss", _ Array(daten, zahlungen, basisdatum, enddatum, startzahlung, endzahlung), _ Array(), Array()) End Function