如何在 LibreOffice 中使用宏和 Visual Basic 突出显示文本
Posted
技术标签:
【中文标题】如何在 LibreOffice 中使用宏和 Visual Basic 突出显示文本【英文标题】:How to highlight text using macros and visual basic in LibreOffice 【发布时间】:2015-11-11 15:03:35 【问题描述】:我必须编写一个突出显示特定数字的宏(将背景颜色设置为黄色)。
我已经编写了一个使用对象光标查找这些数字的宏,但我不知道如何更改背景颜色。
Dim Cursor As Object
Dim Proceed As Boolean
Cursor = ThisComponent.Text.createTextCursor()
Cursor.gotoStart(False)
Do
Cursor.gotoEndOfWord(True)
'some If statements that check if the number is correct
'Cursor.CharEmphasis = com.sun.star.text.FontEmphasis.DOT_BELOW
Proceed = Cursor.gotoNextWord(False)
Loop While Proceed
我发现了一个在文本下方用点强调文本的功能。是否有类似的突出文本?
【问题讨论】:
【参考方案1】:您正在寻找CharBackColor:
oCursor.CharBackColor = RGB(255,255,0)
【讨论】:
【参考方案2】:以下代码将在从 col1 到 col2 和 row1 到 row2 的单元格范围内,任何条目小于 MY_MIN 或大于 MY_MAX 的单元格放置黄色背景。
For I = col1 To col2
For J = row1 to row2
Cell = Sheet.getCellByPosition(I,J)
If Cell.Type <> com.sun.star.table.CellContentType.EMPTY Then
If Cell.Value < MY_MIN Or Cell.Value > MY_MAX Then
Cell.CellBackColor = RGB(200,200,0)
End If
End If
Next J
Next I
希望,这可以解决您的问题。
【讨论】:
以上是关于如何在 LibreOffice 中使用宏和 Visual Basic 突出显示文本的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Python + Windows 中使用 LibreOffice API (UNO)?
如何在 Eclipse 中开发 LibreOffice 扩展?