我在c中编写了一个算法,它接受双精度数字的输入并返回一个double。我想在libreoffice calc中使用它。我尝试使用shell创建一个宏函数,但它只返回0.如何编写宏,以便它返回c程序返回的数字。另外我如何制作它以便我可以将一个单元格中的三个数字输入到c程序中?
谢谢。
答案 0 :(得分:3)
使用shell接口在这里似乎不可行,因为正如您所提到的,它只会返回0表示成功。相反,我可以想到两种方法来做到这一点。
首先是创建Calc add-in。您可以在IDL文件中指定参数的数量(在您的情况下为3)。这意味着不需要任何OpenOffice Basic代码 - 一切都可以用C ++完成。这是一个相当干净的解决方案。但是需要相当多的配置文件,最初可能比下面描述的更困难。
第二种是动态加载DLL并调用该函数。我使用PyUNO和ctypes库取得了成功,但也可以在OpenOffice Basic中完成。
另见: