运行程序并返回值 libreoffice calc
Posted
技术标签:
【中文标题】运行程序并返回值 libreoffice calc【英文标题】:Run a program and return value libreoffice calc 【发布时间】:2016-01-30 23:48:45 【问题描述】:我用 c 语言编写了一个算法,它接受双精度数字的输入并返回一个双精度数。我想在 libreoffice calc 中使用它。我尝试使用 shell 创建一个宏函数,但它只返回 0。我如何编写宏,以便它返回 c 程序返回的数字。另外,我该如何制作,以便可以将单元格中的三个数字输入到 c 程序中?
谢谢。
【问题讨论】:
能否让 C 程序将结果写入文本文件,然后让宏读取文本文件?并且,输入数字(通过使宏成为“函数”然后从单元格中通过=FunctionName(Input1,Input2,Input3)
调用它)应该能够在调用shell 函数的宏行中传递。
1) 太宽泛了。展示你有什么并询问一个具体的问题。 2) C 和 C++ 是不同的 语言。不要为不相关的语言添加标签,并且 3)在添加标签之前阅读标签描述。
【参考方案1】:
在这里使用 shell 接口似乎不可行,因为正如您所提到的,它只会返回 0 表示成功。相反,我可以想出两种方法来做到这一点。
首先是创建一个Calc add-in。您可以在 IDL 文件中指定参数的数量(在您的情况下为 3 个)。这意味着不需要任何 OpenOffice Basic 代码——一切都可以在 C++ 中完成。这是一个相当干净的解决方案。虽然需要很多配置文件,但最初可能比下面描述的更困难。
二是动态加载DLL并调用函数。我已经成功使用 PyUNO 和 ctypes 库,但它也可以在 OpenOffice Basic 中完成。
另见:
https://forum.openoffice.org/en/forum/viewtopic.php?f=45&t=45675 http://sheepdogguides.com/fdb/opof6dll.htm【讨论】:
以上是关于运行程序并返回值 libreoffice calc的主要内容,如果未能解决你的问题,请参考以下文章
Libreoffice calc - 如何将相同的值写入范围
libreoffice calc 如果函数返回 true 而不是 value
我需要删除值为 0 的标签 [LibreOffice Calc]