#名称?用宏打开电子表格后出错

时间:2014-10-18 16:33:26

标签: macros libreoffice-calc

我创建并保存了一个使用宏进行插值任务的电子表格。当我再次打开文档时,所有调用该函数的单元格都显示为#NAME?,尽管该文档似乎仍然包含宏:当我打开工具|宏|组织宏... | LibreOffice Basic宏| (文件)| util |单击模块1并单击“编辑”我可以像以前一样编辑源代码。

有人知道什么是错的吗?我该如何恢复我的文件? 我将安全设置切换为“低(不推荐)”,只是确定,但只有在创建并保存文件之后。

2 个答案:

答案 0 :(得分:1)

在libreoffice或openoffice basic中,无法运行用户定义的函数,该函数存储在除标准库之外的库中,作为单元格中的公式。尽管可以将函数存储在库中,但UDF必须位于标准库中。当然,它们(UDF)可以在库中调用函数(如果加载了这些库)。

UDFs in libreries

可以在单元格中调用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 Uyghurcompletely missing各处。 LibreOffice宏IDE也非常无用。