Libre Office,清理范围

Posted

技术标签:

【中文标题】Libre Office,清理范围【英文标题】:Libre Office, Clearing a Range 【发布时间】:2016-01-20 12:09:09 【问题描述】:

我一直在网上寻找如何访问范围然后“清除”它的想法。可悲的是,即使我找到了几种解决方案,libre office 中的 vba 让事情变得非常难以理解。我试图录制一个宏,并对其进行编辑......它可以工作,但不是我想要的那样。我需要从表单(对话框)执行下面的代码,它会按照它的意思执行,但会在后台显示所有内容,我不能这样做......有没有办法做到这一点?例如在 vba Exel 中我会写:

Range("A1:DA25000").ClearContents (or .Delete)

这是我从宏录制中得到的:

Function Brisanje()

dim document   as object
dim dispatcher as object

document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Nr"
args1(0).Value = 2

dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args1())

dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ToPoint"
args2(0).Value = "$A$1:$DA$25000"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args2())

dispatcher.executeDispatch(document, ".uno:ClearContents", "", 0, Array())

end Function

【问题讨论】:

【参考方案1】:

您要查找的代码位于Andrew Pitonyak's macro document 部分6.4. Clear a cell。请注意,该代码也适用于多个单元格:

REM 可以使用“A1:B2”等范围

宏录制不是学习如何编写宏的好方法。它们生成调度程序代码,这与使用 UNO API 不同。

【讨论】:

以上是关于Libre Office,清理范围的主要内容,如果未能解决你的问题,请参考以下文章

[Libre|Open]Office 中当前文档的路径

在 Open/Libre/Neo Office 中查找文本选择中的段落的宏

win10系统下office2016打开卡顿,缓慢怎么办

Firebase 存储规则,Libre Office contentTypes

Libre Office 宏以裁剪图像

Libre Office 配置文件 bootstrap.ini 损坏