LibreOffice replace宏-仅替换一次并按格式替换

LibreOffice replace宏-仅替换一次并按格式替换,replace,macros,libreoffice,Replace,Macros,Libreoffice,在libreofficewriter中,我想编写一个宏来查找某个字符串,例如abc,并将其替换为另一个字符串def,但前提是原始字符串为粗体。而且,我只想在第一场比赛中这样做 使用LibreOffice search and replace对话框很容易做到这一点,但我找不到在宏中实现这一点的方法: 首先,在中,我没有看到与只查找粗体字符串相关的设置。最接近的匹配是SearchStyles,但它指的是整个段落的样式,而不是搜索词 第二,我没有看到只替换第一次出现的命令;我只看到了全部 有没有办法只

在libreofficewriter中,我想编写一个宏来查找某个字符串,例如abc,并将其替换为另一个字符串def,但前提是原始字符串为粗体。而且,我只想在第一场比赛中这样做

使用LibreOffice search and replace对话框很容易做到这一点,但我找不到在宏中实现这一点的方法:

首先,在中,我没有看到与只查找粗体字符串相关的设置。最接近的匹配是SearchStyles,但它指的是整个段落的样式,而不是搜索词

第二,我没有看到只替换第一次出现的命令;我只看到了全部

有没有办法只替换黑体字,而只替换第一个匹配项?

有许多与搜索相关的好例子。以下内容改编自清单7.41和清单7.45

子FindBoldString 作为对象的Dim-oDoc 将搜索作为对象 作为物体的深度 将srchAttributes0设置为新的com.sun.star.beans.PropertyValue oDoc=该组件 oSearch=oDoc.createSearchDescriptor oSearch.SearchString=abc oSearch.SearchRegularExpression=False oSearch.searchStyles=True oSearch.searchAll=False srchAttributes0.Name=CharWeight srchAttributes0.Value=com.sun.star.awt.fontwweight.BOLD oSearch.setSearchAttributesRCHattributes oFound=oDoc.findFirstoSearch 如果不是空的,那么 oFound.SetStringdef oFound.CharWeight=com.sun.star.awt.fontwweight.BOLD 如果结束 端接头