Access富文本文本框通过VBA实现选中文本高亮的问题求助
Access富文本文本框通过VBA实现选中文本高亮的问题求助
各位大佬好,我最近在做Access表单的时候碰到了个难题,想请教下大家:
我在Access的富文本文本框里,手动操作的时候可以选中文本,然后弹出格式对话框,在高亮下拉框选个颜色就能给选中的文本加上背景高亮。但我想通过VBA代码自动实现这个功能,试了好几种写法都不对。我已经能用SelStart和SelLength定位并选中目标文本了,但就是找不到设置高亮的正确语法。
比如我一开始试了这段代码:
[Forms]![myform]![mytextbox].SelText.Highlight = vbGreen
结果直接弹出运行时错误424:要求对象,完全行不通。
后来我自己琢磨着写了一段代码,想用HTML标签来实现高亮:
Private Sub Label4_Click() Dim selSt, selLen As Integer Dim selT As String Dim strm As String With Me.Text0 .SetFocus selSt = .selStart selLen = .SelLength selT = .SelText strm = "<font style='BACKGROUND-COLOR:#32F6F6'>" & selT & "</font>" Me.Text0 = Replace(.Value, selT, strm) .selStart = selSt .SelLength = selLen End With End Sub
但这段代码有问题:比如我选中了384个字符,结果只有130个被高亮了;还有一次选了93个字符,里面包含带项目符号的行,高亮完全没覆盖我选中的全部内容,根本不对。
有没有大佬能帮我看看问题出在哪?或者有没有正确的VBA方法,能给富文本文本框里的选中文本加上背景高亮呀?
备注:内容来源于stack exchange,提问作者MikH
相关产品推荐
相关产品推荐

