VB调用webbrowser技巧集
作者:admin 日期:2010-06-03
1、获得浏览器信息:
Private Sub Command1_Click()
WebBrowser1.Navigate "http://www.tianzhigang.com"
End Sub
Private Sub Command2_Click()
Dim oWindow
Dim oNav
Set oWindow = WebBrowser1.Document.parentWindow
Set oNav = oWindow.navigator
Debug.Print oNav.userAgent
Set oWindow = Nothing
Set oNav = Nothing
End Sub
点击Command1浏览网页,点击Command2在立即窗口中输出浏览器信息。
2、弹出Webbrowser消息窗口
Dim oWindow
Set oWindow = WebBrowser1.Document.parentWindow
oWindow.confirm "abcd"
3、向Webbrowser中写入HTML内容的几种方法
首先在Form_Load中加入
WebBrowser1.Navigate "about:blank"
确保Webbrowser1可用
方法1:
Dim s As String
Dim stream As IStream
s = ""
s = s + ""
s = s + ""
s = s + "
hello world
"
s = s + ""
s = s + "
WebBrowser1.Document.Write s
方法2:
Dim o
Set o = WebBrowser1.Document.selection.createrange
Debug.Print o
If (Not o Is Nothing) Then
o.pasteHTML "哈哈"
Set o = Nothing
End If
方法3:
'插入文本框
Dim o
Set o = WebBrowser1.Document.selection.createrange
o.execCommand "InsertTextArea", False, "xxx"
其中方法3是采用了调用execCommand并且传递控制命令的方法,通过这种方法还可以插入图片等页面元素,详情可以参考MSDN的execCommand命令。
4、页面滚动:
Private Sub Command2_Click()
WebBrowser1.Document.parentwindow.scrollby 0, 30
End Sub
Private Sub Form_Load()
WebBrowser1.Navigate "http://www.tianzhigang.com"
End Sub
点击Command2就可以使当前页面向下滚动30像素
5、判断页面是否可以前进后退
Private Sub Command1_Click()
WebBrowser1.GoForward
End Sub
Private Sub Command2_Click()
WebBrowser1.GoBack
End Sub
Private Sub Form_Load()
WebBrowser1.Navigate "http://www.tianzhigang.com"
End Sub
Private Sub WebBrowser1_CommandStateChange(ByVal Command As Long, ByVal Enable As Boolean)
If (Command = CSC_NAVIGATEBACK) Then
Command2.Enabled = Enable
End If
If (Command = CSC_NAVIGATEFORWARD) Then
Command1.Enabled = Enable
End If
End Sub
上面的command1是前进按钮,command2是后退按钮。
6、如何使网页不出现滚动条:
Private Sub mnuScroll1_Click()
'注意:必须在网页完全显示之后才可以运行
WebBrowser1.Document.body.Scroll = "no" '不显示滚动条的办法
End Sub
Private Sub mnuScroll2_Click()
'注意:必须在网页完全显示之后才可以运行
WebBrowser1.Document.body.Scroll = "Auto" '显示滚动条的办法
End Sub
7、如何获得网页中被选中部分的HTML:
Private Sub Command1_Click()
Dim objSelection
Dim objTxtRange
Set objSelection = WebBrowser1.Document.selection
If Not (objSelection Is Nothing) Then
Set objTxtRange = objSelection.createRange
If Not (objTxtRange Is Nothing) Then
Debug.Print objTxtRange.htmlText
Set objTxtRange = Nothing
End If
Set objSelection = Nothing
End If
End Sub
Private Sub Form_Load()
WebBrowser1.Navigate "http://www.tianzhigang.com"
End Sub
广告位