LIbreoffice按格式查找功能太差劲了。
-
- 帖子: 1983
- 注册时间: 2010-05-01 21:23
Re: LIbreoffice按格式查找功能太差劲了。
不管是Ooo还是Libre,都有一个坏毛病,就是搜索的时候总是强制使用上次的条件。
这样导致的问题是无法使用宏连续搜索。
比如上次搜索数字,紧接着搜索红色的字母,第二次的搜索绝对是不成功的。
在一个宏中绝对无法做到上述两个动作。除非是手工更改搜索条件。
这样导致的问题是无法使用宏连续搜索。
比如上次搜索数字,紧接着搜索红色的字母,第二次的搜索绝对是不成功的。
在一个宏中绝对无法做到上述两个动作。除非是手工更改搜索条件。
- Ping-Wu
- 帖子: 1822
- 注册时间: 2012-11-14 9:34
- 系统: Debian 12
Re: LIbreoffice按格式查找功能太差劲了。
在Apache OpenOffice 4.0.1 之下,在寻找前按 "No Format” 即可把“上次的条件”清除掉。在制作宏时,也可以很方便的把这个动作加入。
稍微有点经验后,应该会发现最新版Apache OpenOffice 的“按格式查找功能”倒是很先进的。
稍微有点经验后,应该会发现最新版Apache OpenOffice 的“按格式查找功能”倒是很先进的。
-
- 帖子: 1983
- 注册时间: 2010-05-01 21:23
Re: LIbreoffice按格式查找功能太差劲了。
你确定宏能录制清楚这个动作?Ping-Wu 写了:在Apache OpenOffice 4.0.1 之下,在寻找前按 "No Format” 即可把“上次的条件”清除掉。在制作宏时,也可以很方便的把这个动作加入。
稍微有点经验后,应该会发现最新版Apache OpenOffice 的“按格式查找功能”倒是很先进的。
我发现无论如何,它都是强行使用上次的查找的条件。
Ooo 的查找真的很不靠谱,至少在宏录制方面是如此。
- Ping-Wu
- 帖子: 1822
- 注册时间: 2012-11-14 9:34
- 系统: Debian 12
Re: LIbreoffice按格式查找功能太差劲了。
一般我们在做search时,在结束的时候总会将寻找条件规零,以免影响到下一次的search(即 No Format的动作是在寻找结束时执行,而不是等到下一次新寻找时再执行)。我所提到的"No Format'动作,无法用键盘记录的方式放到宏里面去,必须用手写。
-
- 帖子: 1983
- 注册时间: 2010-05-01 21:23
Re: LIbreoffice按格式查找功能太差劲了。
老兄,你怎么话只说一半?
到底怎么手写,代码如何?
虽然我的问题已经通过其他方式解决了,但是还是很想知道怎么消除上次的查找条件?
到底怎么手写,代码如何?
虽然我的问题已经通过其他方式解决了,但是还是很想知道怎么消除上次的查找条件?
- Ping-Wu
- 帖子: 1822
- 注册时间: 2012-11-14 9:34
- 系统: Debian 12
Re: LIbreoffice按格式查找功能太差劲了。
我搞不懂,如果不要属性,不是基本上加下面一项叙述就可以了吗?
(举例) oReplace.searchStyles=False
(举例) oReplace.searchStyles=False
-
- 帖子: 1983
- 注册时间: 2010-05-01 21:23
Re: LIbreoffice按格式查找功能太差劲了。
看来你不熟悉Ooo的宏。
如果使用对象查找替换,根本不用清楚上次的查找条件。
如果使用查找对话框(宏录制就是这样),它的属性
args1(10).Name = "SearchItem.SearchString"
args1(10).Value = " "
是这样设置的。
oReplace是对象。
比如删除空行
Dim Doc As Object
Dim Replace As Object
Dim I As Long
Doc = StarDesktop.CurrentComponent
Replace = Doc.createReplaceDescriptor
Replace.SearchRegularExpression = True
Replace.SearchString = "^$"
Replace.ReplaceString = ""
Doc.replaceAll(Replace)
根本不会影响下次的查找。
如果使用对象查找替换,根本不用清楚上次的查找条件。
如果使用查找对话框(宏录制就是这样),它的属性
args1(10).Name = "SearchItem.SearchString"
args1(10).Value = " "
是这样设置的。
oReplace是对象。
比如删除空行
Dim Doc As Object
Dim Replace As Object
Dim I As Long
Doc = StarDesktop.CurrentComponent
Replace = Doc.createReplaceDescriptor
Replace.SearchRegularExpression = True
Replace.SearchString = "^$"
Replace.ReplaceString = ""
Doc.replaceAll(Replace)
根本不会影响下次的查找。
- Ping-Wu
- 帖子: 1822
- 注册时间: 2012-11-14 9:34
- 系统: Debian 12
Re: LIbreoffice按格式查找功能太差劲了。
很抱歉我把事情看得太简单了。(在我们的经验里,OpenOffice 与 KDE 有一些冲突的地方,因此看到 OpenOffice 跟 KDE 放在一起,低估了问题。)
原来的问题,虽然已经解决了,但有关OpenOffice宏的事情,对Linux桌面的发展当然非常重要,以后有时间时,我们再进一步讨论。
原来的问题,虽然已经解决了,但有关OpenOffice宏的事情,对Linux桌面的发展当然非常重要,以后有时间时,我们再进一步讨论。

- lainme
- 论坛版主
- 帖子: 7805
- 注册时间: 2008-09-13 19:17
- 系统: Arch Linux (x86_64)
- 联系:
-
- 帖子: 1983
- 注册时间: 2010-05-01 21:23
Re: LIbreoffice按格式查找功能太差劲了。
Ping-Wu 写了:很抱歉我把事情看得太简单了。(在我们的经验里,OpenOffice 与 KDE 有一些冲突的地方,因此看到 OpenOffice 跟 KDE 放在一起,低估了问题。)
原来的问题,虽然已经解决了,但有关OpenOffice宏的事情,对Linux桌面的发展当然非常重要,以后有时间时,我们再进一步讨论。
Ooo在kde下是比较朦胧,但是把字体换成微软雅黑或者文泉驿之后,又稍微好些了。
-
- 帖子: 27
- 注册时间: 2009-01-26 0:30
Re: LIbreoffice按格式查找功能太差劲了。
MS OFFICE功能太强大了,像OOO这样的小打小闹不太可能搞得过。
不过WPS倒是不错。
不过WPS倒是不错。