I've 在这里问关于这样做的好方法。
现在我正在尝试以下代码在这里找到,并得到一些意想不到的错误。
我想我没有以正确的方式使用它。任何想法 ?
Sub Main
Dim aResult
Dim aFunc
Dim oRange
aFunc = GetProcessServiceManager().createInstance("com.sun.star.sheet.FunctionAccess")
aResult = aFunc.callFunction("SUM", Array(1, 2, 3))
' ---- Works OK
Print aResult
aResult = aFunc.callFunction("MDETERM", Array(2, 5, 8))
' ---- IllegalArgumentException
Print aResult
oRange = ThisComponent.sheets(0).getcellrangebyname("B4:B6")
aResult = aFunc.callFunction("ZTEST", Array(oRange, 2.5, 1.0))
' ---- IllegalArgumentException
Print aResult
End Sub
MDETERM
需要一个方阵。
And ZTEST
仅当范围内有值时才有效。
Sub Main
Dim oFunc as Object
Dim vResult as Variant
Dim oRange as Object
Dim bDoZTEST as Boolean
Dim aSubArray as Variant
Dim vValue as Variant
oFunc = GetProcessServiceManager().createInstance("com.sun.star.sheet.FunctionAccess")
vResult = oFunc.callFunction("SUM", Array(1, 2, 3))
Print vResult
vResult = oFunc.callFunction("MDETERM", Array(Array(Array(2, 5, 8), Array(1, 4, 3), Array(9, 7, 6))))
Print vResult
oRange = ThisComponent.sheets(0).getCellRangeByName("B4:B6")
bDoZTEST = true
vResult = Empty
for each aSubArray in oRange.DataArray
for each vValue in aSubArray
if not isNumeric(vValue) then bDoZTEST = false
next
next
if bDoZTEST then vResult = oFunc.callFunction("ZTEST", Array(oRange, 2.5, 1.0))
Print vResult
End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)