问题标签 [openoffice-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.

0 投票
1 回答
221 浏览

hyperlink - 如何在 Star Basic 中检查损坏的内部链接?

我正在为 LibreOffice Writer 创建一个 Basic 宏来检查损坏的内部链接。简而言之:

  • 生成所有锚点的列表
  • 遍历文档,查找内部超链接
  • 如果内部超链接不在锚列表中,打开它进行编辑(并停止)

我的代码有一些未解决的问题:

  1. (内fnBuildAnchorList)我们如何获得每个标题的编号?例如,如果第一个级别 1 标题文本是“介绍”,那么正确的锚点是#1.Introduction|outline并且我们正在录制Introduction|outline
  2. (内subInspectLink)我们如何正确测试标题的超链接?我注意到,当我手动点击指向标题的链接时,编号相同时它会成功,而且文本相同时也会成功。
    例如,如果有内部链接#1.My first heading|outline,可以通过超链接访问,#1.Previous header name|outline 可以通过超链接访问#2.3.5.My first heading|outline
  3. (内subInspectLink)我们如何打开特定的超链接进行编辑?我们是否将参数传递给.uno:EditHyperlink? 我们移动光标吗?(我发现的所有动作都是相对的,例如.uno:GoRight)我们使用文本部分的.Start.End属性吗?

您可以使用任何带有标题的文档来检查第一个问题——一个带有所有锚点的 MsgBox 会弹出,您会看到缺少的大纲编号。

第二个问题需要一个内部链接错误的文档。

0 投票
1 回答
123 浏览

macros - OpenOffice 升级到 4.1.2 - 带有宏的命令行不再工作

我们一直在使用 OpenOffice Portable 将 .docx 文件转换为 PDF。

我们在作为 NETWORK SERVICE 运行的 .NET MVC Web 应用程序中运行如下命令。

这在使用 OpenOffice Portable 3.2 版时没有问题。

我们尝试升级到 OpenOffice 4.2.1,安装了宏并验证了当我以普通用户身份在命令行中运行宏时,宏运行正确。但是,当 NETWORK SERVICE 尝试从 Web 应用程序运行它时,它会生成一个 soffice.exe*32 和一个 soffice.bin*32,并且会挂起几分钟直到超时。

我验证了 NETWORK SERVICE 对目标目录具有写入权限,对源文件具有读取权限,并且再次验证我可以在命令窗口中手动运行该命令。

我在我们的日志或系统日志中没有看到任何东西告诉我发生了什么。我真的不知道从这里去哪里。有没有人有可以帮助我的见解?

谢谢!

0 投票
1 回答
281 浏览

openoffice-basic - oooBasic:如何以编程方式将键分配给宏?

我想以编程方式将宏分配给功能键(而不是手动更改此分配)。

我怎么能这样做?

0 投票
1 回答
1772 浏览

vba - libreoffice 的 ActiveCell.Offset

如何访问 LibreOffice (OpenOffice) 中选定单元格的附近?

我只能使用“ThisComponent.getCurrentSelection”获得选定的单元格。

我只需要 MS Excel VBA 函数“ActiveCell.Offset”的替代方法。

0 投票
1 回答
640 浏览

macros - 如何计算starbasic宏(openoffice宏)中字符串的md5校验和?

我正在尝试制作一个 OpenOfficeWriter StarBasic-Macro 程序,它将 wiki 源代码转换为 Open office Writer。我需要一个生成 MD5 校验和的 starbasic 宏。OpenOffice 的文档中有一个 MD5Thumbprint,所以我想您可以使用某种宏代码在 Open Office starbasic 宏中计算 MD5。这就是我要找的。

我想我必须在安全模块中使用 XCertificate 接口,但我不知道宏代码应该如何。因此,我需要一个 Open Office starbasic 宏命令或代码,例如:stringMD5=s.md5(),其中将是一个字符串(例如“Douglas C-47 Skytrain.jpg”之类的东西),而 stringMD5 应该是一个字符串或我可以制作成字符串的东西(在这个例子中,最后的结果应该是字符串“40decfb5f1be8bca1e56c8a853027941”,它是字符串“Douglas C-47 Skytrain.jpg”的MD5)。

我想避免使用 Python(请参阅:如何获取字符串的 MD5 总和?),而是创建一个 starbasic 宏。如果有人有小费,我当然会很高兴。乔治

0 投票
1 回答
657 浏览

openoffice-calc - STRJOIN 宏在 LibreOffice / Open Office 中突然中断

这是我在 Stackoverflow 上的第一篇文章。我从这个网站上的很多人那里得到了很多帮助和价值,所以我想首先感谢这个论坛上的每个人,感谢他们令人难以置信的知识和慷慨的精神。非常感激!

我对这个网站进行了广泛的研究,但找不到我的问题的答案:我在 LibreOffice (v4.2.4.2) 中使用STRJOIN 宏非常成功,但是在多周假期后重返工作岗位后,突然它不工作了。我的电脑被关闭并留下了,所以我很肯定什么都没有或没有人改变任何东西。自从我回来后,没有发生 OSX 更新。

当我运行宏(由Adam Spiers编写,基于 Markus O'Reilly 的工作)时,我现在收到以下错误:

  1. 在宏编辑器中,我得到

BASIC 运行时错误。参数不是可选的

在宏中使用这一行:

If NOT IsMissing(range) Then

  1. 如果我从工具 > 宏 > 运行宏运行宏,我会得到:

运行基本脚本 Standard.Module1.STRJOIN 时出现脚本框架错误。消息:参数数量错误!

OpenOffice 中也发生了同样的错误。

发生了什么/为什么宏现在不起作用?其他宏工作正常,我还创建了一个新的用户配置文件,认为这可能会有所帮助,但无济于事。

我特别担心该功能突然爆炸,因为我有一个巨大的电子表格,其中 STRJOIN 广泛出现在整个过程中,并且连接不是一个足够的替代品。

这是 Markus 和 Adam 的宏:

0 投票
1 回答
797 浏览

libreoffice-basic - 如何计算 OpenOffice/LibreOffice BASIC 中的重复条目?

我在 LibreOffice 的许多工作表中都有大量数据——一ADDRESS列和一DATA列——我想计算每个地址出现的次数,放入一NUM_ADDR列。例如:

手动操作时,我COUNTIF在每个地址上都使用了该函数,但我发现从长远来看,宏会节省时间。这是我到目前为止的一个片段,因为前面的函数已经确定了数据的长度(行数),存储在RowCounter

所以我的第一个问题是:我们如何确定一个元素(当前单元格中的地址)是否在CountedAddr数组中(见(?)上文)?其次,是否有更有效的方法来实现第二个代码块?不幸的是,排序是不可能的,因为地址和数据的年表形成了某种时间基准。第三,整个shebang是解决这个问题的愚蠢方式吗?

非常感谢软件任务的硬件操作!

0 投票
2 回答
363 浏览

openoffice-calc - 在 OPEN OFFICE 中连接删除前导零

这是我在我的开放式办公室中的条目,所以我们在这里有第 2 行和列 AD 我创建了一个公式=CONCATENATE("('" ;A2;"','";B2;"','";C2;"','";D2;"'),")

这个给了我这个结果:

('药物','4','2','对乙酰氨基酚 (对乙酰氨基酚) TAB 500 MG'),

基本上我想要这样的结果:

('药物','000000000004','2','对乙酰氨基酚(对乙酰氨基酚)TAB 500 MG'),

B 列设置为数字,前导零设置为 12。

我想要的是得到一个结果,其中 B 列中的前导零将被保留。

0 投票
2 回答
905 浏览

libreoffice - Libre Office 自定义对话框表

我正在创建一个自定义对话框,用户应该在其中选择多个可能的条目之一。我使用列表框来列出要从中选择的可能条目。

每行有多个变量,因此我想使用一个表格来正确对齐条目。有没有可能这样做?

我有的:

我想要的是:

0 投票
1 回答
94 浏览

excel - 匹配两个列具有多个重复值的行

我正在尝试匹配具有两列的区域中的两个单元格,每列都有多个重复值,并简单地返回表明存在匹配行的内容。

我在 LibreOffice Calc 中执行此操作,但如果可能的话,我希望能够在 Excel 电子表格中共享它。

我的电子表格搜索范围如下所示:

我的结果/查询区域看起来(应该看起来)像这样:

其中“Y”(或某事)表示搜索区域的B列中有一行与查询区域$A2(A2,A3,A4,..)匹配,而D列中的同一行与查询区域匹配B$1(B1,C1,D1,..)等

问题是搜索区域中的列 B 和 D 都包含重复数据,并且搜索区域的行按列 A 然后 C 中的值降序排序。这意味着我不能使用查找函数(?)。

是否可以使用查询区域单元格中的公式来执行此操作,或者如果不能,了解 OO 或 LibreOffice Calc 的人可以帮助我使用我需要使用其宏“基本”版本创建用户定义公式的代码(所以我希望能跟随它在做什么)?如果您使用 BeanShell、JavaScript 或 Python,我也会尝试获取它,但我最熟悉 VBasic。