+ -
当前位置:首页 → 问答吧 → 一个WebBrowser中设置高亮遇到的问题,望解答,

一个WebBrowser中设置高亮遇到的问题,望解答,

时间:2011-12-20

来源:互联网

使用此代码进行高亮关键字的时候,大多数网页都正常,遇到http://bb.zucc.edu.cn/webapps/portal/frameset.jsp这种网页进行关键词加亮的时候却出现错误提示“对象不支持该属性或方法” 请问如何解决呢?


VB code
Public Enum FBackColor
   红色 = 1
   绿色 = 2
   蓝色 = 3
   黄色 = 4
   紫色 = 5
   灰色 = 6
   棕色 = 7
   取消 = 8
End Enum

Public Function FindBright(Text As String, FindBackColor As FBackColor, Web As WebBrowser) As Boolean '高亮或取消高亮显示关键字                                                                                                        On Error Resume Next
    Dim texbody As HTMLBody
    Dim Rng As MSHTML.IHTMLTxtRange
    Dim BACKColos As String
    If FindBackColor = 红色 Then
        BACKColos = "Red"
    ElseIf FindBackColor = 黄色 Then
        BACKColos = "Yellow"
    ElseIf FindBackColor = 蓝色 Then
        BACKColos = "Blue"
    ElseIf FindBackColor = 绿色 Then
        BACKColos = "Green"
    ElseIf FindBackColor = 紫色 Then
        BACKColos = "Purple"
    ElseIf FindBackColor = 灰色 Then
        BACKColos = "Gray"
    ElseIf FindBackColor = 棕色 Then
        BACKColos = "Brown"
    Else
        BACKColos = Null
    End If
    Set webdoc = Web.Document
    Set texbody = webdoc.body
    Set Rng = texbody.createTextRange()
    If Rng.FindText(Text) = False Then FindBright = False: Exit Function
    Do While Rng.FindText(Text) <> False
        Rng.FindText Text
        'Rng.Select       '防止选择是页面滚动,将选择关键字取消掉,如果要随选择高亮位置而滚动就把注释取消掉。
        Rng.execCommand "BackColor", True, BACKColos     '高亮关键字,BACKColos这里也可以设置为你想要的RGB颜色值
        Rng.collapse False
    Loop
    Rng.execCommand "Unselect", True, Null     '取消选中状态
    Rng.collapse True
    FindBright = True
End Function

'--------------高亮显示关键字------------------
Private Sub Command1_Click()
FindBright Text1, 黄色, WebBrowser1
End Sub
'--------------取消高亮显示关键字------------------
Private Sub Command2_Click()
FindBright Text1, 取消, WebBrowser1
End Sub



作者: fjnpyxt   发布时间: 2011-12-20

有框架,不能直接操作,要用oleContainer遍历框架后再操作.

作者: xxyj6450   发布时间: 2011-12-20

能不能给个参考呢 谢谢

作者: fjnpyxt   发布时间: 2011-12-20

引用 2 楼 fjnpyxt 的回复:

能不能给个参考呢 谢谢
请参看我这里的完整总结:
http://tieba.baidu.com/p/873865493

作者: sysdzw   发布时间: 2011-12-20