2014-10-18 51 views
0

我創建並保存了一個電子表格,該插件使用宏來執行插值任務。當我再次打開文檔時,所有調用該函數的單元格都顯示爲#NAME?,但文檔似乎仍包含宏:當我打開「工具」|「宏|組織宏... | LibreOffice基本宏| (文件)| util | Module1並單擊'編輯'我可以像以前一樣編輯源代碼。#NAME?用宏打開電子表格後出現錯誤

有人知道有什麼問題嗎?我如何恢復我的文件? 我將安全設置切換爲'低(不推薦)',只是確定,但只有在創建並保存文件後。

+0

什麼是「UTIL」在宏觀組織路徑?如果它是一個庫,它存儲在哪裏?爲什麼不直接將用戶定義的函數存儲在文檔的標準庫中? – 2014-10-19 07:32:18

+0

這有幫助! @AxelRichter:在我的問題中有一個格式問題,我解決了它。 util旨在成爲一般實用函數庫。在您的評論之後,我將庫「util」中的模塊「Module1」替換爲庫「Standard」中的模塊「util」,現在它可以工作。對我來說,這似乎有點過分了。謝謝。如果您發佈這個答案,我可以接受它。 – user829755 2014-10-19 11:25:25

回答

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

問候

阿克塞爾