OpenOffice Calc 函数返回 #VALUE

3

我想为Calc编写一个基本函数,该函数返回#VALUE!可以用ISERR()进行测试。

Function foo()
    foo = #VALUE!
End Function

但是那个foo函数返回0而不是一些错误 #VALUE!。我该怎么做?


你可以使用StarBasic中的CVErr()函数创建(并返回)错误对象。但遗憾的是,无论是ISERR()还是ISERROR()都不能将结果检测为错误,两者都返回FALSE。即使使用错误代码519代表#VALUE!(使用CVErr(519)也没有帮助... :-( - tohuwawohu
@tohuwawohu:是的,我也尝试返回519,但不起作用。 - Jim K
1个回答

2

看起来只有在电子表格中发生计算错误时才会显示#VALUE!,因此不可能返回该错误。

相反,当需要数字时,通过返回文本来引起#VALUE!错误:

Function get_number() As Any
    'get_number = 0  'This line will not cause an error.
    get_number = ""  'This line will cause #VALUE! because it is not a number.
End Function

将公式设置为=ISERR(GET_NUMBER() + 0)

参见https://forum.openoffice.org/en/forum/viewtopic.php?t=44830


这就是我在来这里之前找到的答案,希望能得到“答案”。真遗憾我们需要像这样去“黑客”一些东西 :( - Cabu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接