0

我有一个 LibreOffice 计算表和一个作家文档。我想使用文档内表格中的字段。这适用于“常规”字段。

但是一个字段(条形码)具有来自其他 Makro/脚本的公式。这个公式在 calc 中运行良好。但是,如果我在 writer 中打开“数据源”,我只会看到“#VALUE”。此外,如果我打印文档,则没有插入正确的数据。

在 writer 和 calc 中打开了宏的使用。我该怎么做才能将所需的数据放入我的 writer 文档中?

最好的问候约翰内斯

4

1 回答 1

0

首先,转到工具 -> 宏 -> 组织宏 -> LibreOffice Basic。展开到我的宏 -> 标准 -> 模块 1。此位置位于用户目录下。在https://ask.libreoffice.org/en/question/35598/where-are-lo-basic-macros-stored/中详细解释了管理位置。

粘贴以下用户定义函数

Function EAN13_Barcode(index As Integer)
    myArray = Array(_
        "9783598215001","9783598215018","9783598215025",_
        "9783598215032","9783598215049","9783598215056",_
        "9783598215063","9783598215070","9783598215087")
    EAN13_Barcode = myArray(index)
End Function

像这样设置电子表格(第一张图片显示公式,第二张显示值)。

电子表格示例 - 公式 电子表格示例 - 值

注意:如果宏嵌入在 Calc 文档中而不是存储在用户目录中,则EAN13_Barcode()仅在 Calc 中有效,在 Base 或 Writer 中无效。

接下来,通过转到File -> New Database 创建一个数据库链接。

  • 连接到现有数据库:电子表格。
  • 浏览到 .ods 文件。
  • 是的,为我注册数据库。
  • 另存为新数据库.mdb。

Base 中的表格如下所示。

Base 中的表

现在在 Writer 中,查看 -> 数据源

  • 展开到新数据库 -> 表格 -> 表 1。

数据源窗口

  • 单击第二条记录的行前并拖动到主文档区域。
  • 将数据插入为:字段。
  • 数据库列是 Barcode 和 FullName。
  • 按确定。

结果

如果值更改,则可以刷新字段。为此,请保存 Calc 电子表格和 Writer 文档,关闭所有内容,然后再次打开 Writer 文档。

于 2017-12-11T19:51:06.100 回答