如何更改Access用户窗体RichTextBox子字符串背景颜色

时间:2018-10-17 17:10:47

标签: ms-access access-vba

我已经检查了所有与标题相关的建议问题,但没有找到合适的答案。希望有人能够帮助我。

我有一个Access用户窗体,可以按星期几显示假期信息。这会根据用户选择的星期动态更新。显示的信息是Employee,TimeCode,StartingTime和EndTime。我希望根据显示的时间码更改背景颜色。

此信息包含在文本框(我将其更改为RichText以便突出显示)中,每个星期的一个,并找到建议说可以使用HTML更改子字符串的背景。我已经编码了HTML部分并进行了测试,以确保没有错误,但是在生成用户表单时,不会保留任何格式。

构建HTML部分的代码部分为:

Do While Not rsFiltered.EOF = True
    MyArray(i, 2) = MyArray(i, 2) & "<div><font style=" & Chr(34) & "background-color:rgb(" & rsFiltered!Color & ");" & Chr(34) & ">" & rsFiltered!EmpName
    MyArray(i, 2) = MyArray(i, 2) & " - " & rsFiltered!TimeCode
    If Not IsNull(rsFiltered!StartTime) Then MyArray(i, 2) = MyArray(i, 2) & " " & Format(rsFiltered!StartTime, "short time")
    If Not IsNull(rsFiltered!EndTime) Then MyArray(i, 2) = MyArray(i, 2) & "-" & Format(rsFiltered!EndTime, "short time")
    MyArray(i, 2) = MyArray(i, 2) & "</font></div>"
    rsFiltered.MoveNext
Loop

rsFiltered!Color是一个字段,我有我的数据库,可以根据需要轻松更改颜色。一个示例是:255、255、255

这是生成的:

<div><font style="background-color:rgb(255, 108, 0);">USER1 - 1234 9:00-12:00</font></div><div><font style="background-color:rgb(60, 179, 113);">USER2 - 1235 10:00-11:00</font></div>

我用来填充用户窗体文本框的代码部分是:

For i = 0 To 6
    strTextBox = "txt" & CStr(i + 1)        
    With Me
        Controls(strTextBox).TextFormat = acTextFormatHTMLRichText
        Controls(strTextBox) = ""
        Controls(strTextBox).tag = i + 1
        Controls(strTextBox) = MyArray(i, 2)
    End With
Next I

是否无法使用HTML?该怎么办?

这是我要实现的目标:

Example of highlighting

谢谢

0 个答案:

没有答案