【问题标题】:Run a program and return value libreoffice calc运行程序并返回值 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)在添加标签之前阅读标签描述。

标签: c libreoffice


【解决方案1】:

在这里使用 shell 接口似乎不可行,因为正如您所提到的,它只会返回 0 表示成功。相反,我可以想出两种方法来做到这一点。

首先是创建一个Calc add-in。您可以在 IDL 文件中指定参数的数量(在您的情况下为 3 个)。这意味着不需要任何 OpenOffice Basic 代码——一切都可以在 C++ 中完成。这是一个相当干净的解决方案。虽然需要很多配置文件,但最初可能比下面描述的更困难。

二是动态加载DLL并调用函数。我已经成功使用 PyUNO 和 ctypes 库,但它也可以在 OpenOffice Basic 中完成。

另见:

【讨论】:

    猜你喜欢
    • 2014-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多