在 LibreOffice Writer 中使用列表框的用户选择作为条件

Using a List Box's user-choice as a Condition in LibreOffice Writer

我正在尝试制作一个可填写表格的 pdf,其中列表框会影响 sheet 的其他部分。

我的文档中有几个隐藏段落(隐藏图形等)和一个列表框。我想使用列表框选项作为动态隐藏和取消隐藏各种隐藏段落的条件。

示例:用户选择点击列表框,列出猫、狗、鸟。如果用户从列表中选择“狗”,则不再隐藏包含狗的文字和图片的段落。

我知道如果 [List Box choice] != "Dog" 作为我的条件,我必须执行 Hide Paragraph,我只是不知道从哪里获得 List Box 选项。感觉我在寻找答案或指南时碰壁了,因为我缺少特定的术语(字段?公式?)。

根据https://help.libreoffice.org/7.0/en-US/text/swriter/01/04090200.html,可以根据Writer条件设置数据库。看起来这适用于 LibreOffice Base,可以在其中创建带有列表框的表单。

但是,如果您尝试在独立的 Writer 模板或其他文档中使用列表框中的值,那么查看 link,这似乎是不可能的。编写器条件仅限于文档元数据,而不是文档的内容。

一种解决方案是编写一个宏,弹出一个带有列表框的对话框,然后当对话框关闭时,根据选择的值修改Writer文档。 LibreOffice 有一个对话框开发前端来帮助您进行设置,然后您需要编写代码来执行对话框并进行更改。有关编写必要代码的帮助,请参阅 https://www.pitonyak.org/oo.php

我实际上也在尝试做同样的事情,我对此感到非常沮丧。我为我的律师事务所开发了一个案例管理数据库(实际上,此时它几乎管理着办公室的几乎所有方面),但是因为我们处理各种不同的案件(刑事辩护、民事诉讼、遗嘱认证等)我们需要跟踪的信息经常变化。例如,在刑事案件中,我们需要跟踪量刑指南评分、检察官当前的报价、先前的定罪等等。对于家庭法案件,我们需要跟踪资产、育儿时间安排等。将所有这些变量同时放在一个页面上很快就会变得非常麻烦,所以我正在尝试设置表格当您 select 案件为“刑事辩护”时,它会显示页面的“刑事辩护”部分,并隐藏“家庭法”、“民事诉讼”、“遗嘱认证”和其他部分。

我能想到的唯一方法是创建一个变量(在本例中,我将其称为“CaseType”)并根据变量的设置将段落设置为隐藏或可见。这很好用,除了 (a) 让用户 select 用于数据库目的的案例类型,然后让他们 select 成为要在表单中显示的案例详细信息的类型是很尴尬的;并且(更重要的是)(b) 用户必须直接在对话框中输入所需的变量值,这很痛苦。我更希望能够让显示的部分类型由数据库中案例类型的值确定,或者在列表中让面板显示在下拉列表中。

我想出了一个想法来录制一个宏,当您按下按钮时,该宏会 运行——例如,按下“刑事案件面板”按钮,脚本会 运行 select通过双击编辑变量,在对话框中输入正确的值,然后应用新变量,但是Writer似乎不会让你记录在对话框中更改值的宏。

软件的这方面还有很多未开发的潜力;如果用户变量可以通过表单设置——或者如果“隐藏”标志可以被触发以被数据库变量的值隐藏——它会打开很多可能性。让我希望我有编码技能来处理软件的这一部分。