请帮我解决以下问题: 我想使用OOoTools.pas确定开放式办公室计算列中的最大值 接口。 这就像我来的那样:
Procedure FindMaximum(oMySheet : Variant);
Var
oFuncService : Variant;
Begin
oFuncService := CreateUnoService('com.sun.star.sheet.FunctionAccess');
ShowMessage(oFuncService.callFunction('MAX', VarArrayOf([10,20,50])));
End;
这有效
当然我想填写列的值,如:
ShowMessage(oFuncService.callFunction('MAX', VarArrayOf([oMySheet.getCellRangeByName('K8:K10')])));
我收到消息“com.star.lang.IllegalArgumentException:。”为什么? 感谢
答案 0 :(得分:0)
我又来了。
是callFunction
方法导致此错误还是getCellRangeByName
方法?
procedure FindMaximum(oMySheet : Variant);
var
oFuncService : Variant;
oCellRange: Variant;
oResult: Variant;
begin
oFuncService := CreateUnoService('com.sun.star.sheet.FunctionAccess');
//error here?
oCellRange := oMySheet.getCellRangeByName('K8:K10');
//or error here?
oResult := oFuncService.callFunction('MAX', VarArrayOf([oCellRange]));
ShowMessage(oResult);
end;
我不得不说documentation有点不清楚。
如果我上面的示例中的callFunction
方法出现错误,请尝试以下操作:
//CellRange not wrapped in a VariantArray
oResult := oFuncService.callFunction('MAX', oCellRange);