运行程序并返回值 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 - 如何将相同的值写入范围

libreoffice calc 如果函数返回 true 而不是 value

我需要删除值为 0 的标签 [LibreOffice Calc]

如何在 libreoffice calc 中编写 python 宏来发送和接收数据

如何从 Libreoffice Calc 工作簿的所有工作表中删除所有图像