我创建并保存了一个使用宏进行插值任务的电子表格。当我再次打开文档时,所有调用该函数的单元格都显示为#NAME?
,尽管该文档似乎仍然包含宏:当我打开工具|宏|组织宏... | LibreOffice Basic宏| (文件)| util |单击模块1并单击“编辑”我可以像以前一样编辑源代码。
有人知道什么是错的吗?我该如何恢复我的文件? 我将安全设置切换为“低(不推荐)”,只是确定,但只有在创建并保存文件之后。
答案 0 :(得分:1)
在libreoffice或openoffice basic中,无法运行用户定义的函数,该函数存储在除标准库之外的库中,作为单元格中的公式。尽管可以将函数存储在库中,但UDF必须位于标准库中。当然,它们(UDF)可以在库中调用函数(如果加载了这些库)。
可以在单元格中调用UDF = UDF()。 UDF2也可以在单元格中调用为= UDF2()。然后它加载库" util",如果尚未加载,则返回utilUDF()的结果。
另见http://www.openoffice.org/documentation/manuals/userguide3/0312CG3-CalcMacros.pdf#7"编写自己的功能"第7至12页。
问候
阿克塞尔
答案 1 :(得分:0)
我在使用Sub Foo
定义的宏时遇到了同样的问题。我将其更改为public function Foo
,并且有效。
NB:经过20年的软件开发,LibreOffice API是我最高兴与之合作的最糟糕的API。文档为horrible,分布在littered with Uyghur或completely missing各处。 LibreOffice宏IDE也非常无用。