如何在 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 突出显示文本的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 FILTERXML 计算功能?

如何在 Basic 中使用 LibreOffice 功能?

如何在 Python + Windows 中使用 LibreOffice API (UNO)?

如何在 Eclipse 中开发 LibreOffice 扩展?

如何在较新版本的 libreoffice 中使用 unoconv

在 LibreOffice 中使用 CLI --convert-to 参数时如何删除表格填充