问题标签 [libreoffice-basic]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hyperlink - 如何在 Star Basic 中检查损坏的内部链接?
我正在为 LibreOffice Writer 创建一个 Basic 宏来检查损坏的内部链接。简而言之:
- 生成所有锚点的列表
- 遍历文档,查找内部超链接
- 如果内部超链接不在锚列表中,打开它进行编辑(并停止)
我的代码有一些未解决的问题:
- (内
fnBuildAnchorList
)我们如何获得每个标题的编号?例如,如果第一个级别 1 标题文本是“介绍”,那么正确的锚点是#1.Introduction|outline
并且我们正在录制Introduction|outline
- (内
subInspectLink
)我们如何正确测试标题的超链接?我注意到,当我手动点击指向标题的链接时,编号相同时它会成功,而且文本相同时也会成功。
例如,如果有内部链接#1.My first heading|outline
,可以通过超链接访问,#1.Previous header name|outline
也可以通过超链接访问#2.3.5.My first heading|outline
- (内
subInspectLink
)我们如何打开特定的超链接进行编辑?我们是否将参数传递给.uno:EditHyperlink
? 我们移动光标吗?(我发现的所有动作都是相对的,例如.uno:GoRight
)我们使用文本部分的.Start
和.End
属性吗?
您可以使用任何带有标题的文档来检查第一个问题——一个带有所有锚点的 MsgBox 会弹出,您会看到缺少的大纲编号。
第二个问题需要一个内部链接错误的文档。
vba - libreoffice 的 ActiveCell.Offset
如何访问 LibreOffice (OpenOffice) 中选定单元格的附近?
我只能使用“ThisComponent.getCurrentSelection”获得选定的单元格。
我只需要 MS Excel VBA 函数“ActiveCell.Offset”的替代方法。
libreoffice - Libre Office writer 宏插入日期和日期 + n 天
这里有一个类似的问题,但是使用 calc 但是答案似乎是特定于 calc 的。我想在 libre writer 中编写一个宏,插入当前日期、逗号和空格,然后是当前日期 + 2 天,逗号和空格,然后是当前日期 + 14 天。
记录日期插入的马可给出以下内容,但老实说,我不知道如何解释此代码,并且在网上几乎找不到帮助。
将不胜感激任何帮助或想法。干杯达米安
vb6 - 符号已经定义不同 VB
我正在尝试编译以下代码,但我不断收到错误消息。我之前多次遇到这个错误,所以我被迫使用变通功能。这次我真的厌倦了这个问题,我需要知道这里出了什么问题。
编译此代码会在“for i = 0 to aData.Length”行出现以下错误:
基本语法错误。
符号 aData 已经以不同方式定义。
不知道为什么。抱歉,如果这是一个微不足道的问题,但我对 VB 完全陌生。C++ 并没有让我为此做好准备。
report - 如何从 LibreOffice Calc 电子表格生成格式化报告?
我有一个非常简单的 LibreOffice Calc 电子表格,其中包含列标题和列(单元格可以是多行),类似于:
我想以(半)自动化方式获得一个纯文本文件,其中包含以下内容:
这有可能吗?我知道 LO 宏功能(例如:this),所以简单的答案可能是“是”,但我从未使用过它们,所以我需要一些指导(我什至不知道如何使用这样的东西)。
replace - 导入 PDF 后替换(修复)LibreOffice Draw 中的字体
我将 BASIC 宏改编为 Draw,但不明白为什么它只在第一页转换字体。代码是:
故障在哪里?
forms - LibreOffice Basic 从表单中获取元素
我正在尝试从表单上的文本字段中获取价值。
有一个例外:“类型:com.sun.star.container.NoSuchElementException”在“textBox = oForm.getByName”行上。我在同一个表单上有一个名为“描述”的文本字段,我按下以运行此宏的按钮在哪里。这里有什么问题?
libreoffice-basic - 如何计算 OpenOffice/LibreOffice BASIC 中的重复条目?
我在 LibreOffice 的许多工作表中都有大量数据——一ADDRESS
列和一DATA
列——我想计算每个地址出现的次数,放入一NUM_ADDR
列。例如:
手动操作时,我COUNTIF
在每个地址上都使用了该函数,但我发现从长远来看,宏会节省时间。这是我到目前为止的一个片段,因为前面的函数已经确定了数据的长度(行数),存储在RowCounter
:
所以我的第一个问题是:我们如何确定一个元素(当前单元格中的地址)是否在CountedAddr
数组中(见(?)
上文)?其次,是否有更有效的方法来实现第二个代码块?不幸的是,排序是不可能的,因为地址和数据的年表形成了某种时间基准。第三,整个shebang是解决这个问题的愚蠢方式吗?
非常感谢软件任务的硬件操作!
vba - 使用 BASIC 在 LibreOffice 中复制表格的最后一行
我在 ODT 文档中有一个命名表,并希望将包含所有内容的最后一行复制到新行(上图)中,然后替换此副本中的一些值。
我已经在 Word/VBA 中为 DOCX 完成了此操作:
这在 LibreOffice 中也可以吗?到目前为止,我有:
如何选择和复制整行并在新行上运行搜索和替换?提示:该行可能包含其他对象,例如子表。