Sub Main
Dim oDocument As Object
Dim oSearch As Object, oResult As Object
Dim oFound As Object, oFoundCursor As Object
Dim n As Long
oDocument = ThisComponent
oSearch = oDocument.createSearchDescriptor
'oSearch.SearchString = "the[a-z]"
oSearch.SearchString = "x"
oSearch.SearchRegularExpression = TRUE
oResult = oDocument.findAll(oSearch)
For n = 0 To oResult.count - 1
oFound = oResult(n)
oFoundCursor = oFound.Text.createTextCursorByRange(oFound)
oFoundCursor.CharWeight = com.sun.star.awt.FontWeight.BOLD
Next n
'oSearch.SearchString = "all[a-z]"
oSearch.searchString = "y"
oFound = oDocument.findFirst(oSearch)
While NOT IsNull(oFound)
oFoundCursor = oFound.Text.createTextCursorByRange(oFound)
oFoundCursor.CharPosture = com.sun.star.awt.FontSlant.ITALIC
oFound = oDocument.findNext(oFound, oSearch)
Wend
End Sub
Dim oDocument As Object
Dim oSearch As Object, oResult As Object
Dim oFound As Object, oFoundCursor As Object
Dim n As Long
oDocument = ThisComponent
oSearch = oDocument.createSearchDescriptor
'oSearch.SearchString = "the[a-z]"
oSearch.SearchString = "x"
oSearch.SearchRegularExpression = TRUE
oResult = oDocument.findAll(oSearch)
For n = 0 To oResult.count - 1
oFound = oResult(n)
oFoundCursor = oFound.Text.createTextCursorByRange(oFound)
oFoundCursor.CharWeight = com.sun.star.awt.FontWeight.BOLD
Next n
'oSearch.SearchString = "all[a-z]"
oSearch.searchString = "y"
oFound = oDocument.findFirst(oSearch)
While NOT IsNull(oFound)
oFoundCursor = oFound.Text.createTextCursorByRange(oFound)
oFoundCursor.CharPosture = com.sun.star.awt.FontSlant.ITALIC
oFound = oDocument.findNext(oFound, oSearch)
Wend
End Sub
使用StarOffice宏高亮搜索结果
本文介绍了一个StarOffice或LibreOffice的Basic宏示例,该宏用于在文档中搜索特定字符串并将其格式化为粗体或斜体。首先,宏创建一个搜索描述符并定义了正则表达式的搜索条件,接着使用findAll方法找到所有匹配项并加粗,然后继续查找第一个匹配项并设置为斜体。
1609

被折叠的 条评论
为什么被折叠?



