VB与网页交互
(2012-09-08 21:52:02)
标签:
it |
分类: VB编程笔记 |
1.VB调JS函数
VB代码,首先建立一个新工程,在Form1中加入一个Webbrowser控件,然后在Form1中加入以下代码:
Private Sub Form_Load()
WebBrowser1.Navigate2
("http://localhost/test.html") '调试时,留意缓存的问题
End Sub
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
pDisp.Document.parentWindow.execScript
"test()"
End Sub
test.html页面代码:
'===========================================================================================
2.VB响应网页按钮事件
VB代码,首先建立一个新工程,在Form1中加入一个Webbrowser控件,然后在Form1中加入以下代码:
Private Sub Form_Load()
WebBrowser1.Navigate2
("http://localhost/test.html?" & Now())
End Sub
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
Dim
cfForward As clsForward
Set
cfForward = New clsForward
cfForward.Set_Destination
Me, "test"
pDisp.Document.All("btCallVB").onClick
= cfForward
End Sub
Public Sub test()
MsgBox
"VB知道:你点击了网页上的按钮!"
End Sub
第二步,在工程中添加一个Class Module,Class Module的Name属性设定为clsForward,在clsForward中添加以下代码:
Option Explicit
Dim oObject As Object
Dim sMethod As String
Dim bInstantiated As Boolean
Private Sub Class_Initialize()
bInstantiated
= False
End Sub
Public Sub Set_Destination(oInObject As Object, sInMethod As String)
Set
oObject = oInObject
sMethod
= sInMethod
bInstantiated
= True
End Sub
Public Sub My_Default_Method()
If
bInstantiated Then
CallByName
oObject, sMethod, VbMethod
End
If
End Sub
第三步,把My_Default_Method设置为默认过程,方法是:在clsForward模块的代码窗口中将光标定位到My_Default_Method中,然后选择菜单 Tools | Procedure Attributes。然后在弹出窗口中点击advanced按钮,然后在procedure id下拉框中选择[Default]。
test.html页面代码:
'===========================================================================================
还有一种响应网页的方法,就是监判断网页当前的链接地址,不同的链接地址触发不同的函数。
如:
Private Sub WebBrowser1_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean)
If URL =
"http://www.baidu.com/" Then
MsgBox
("WebBrowser1_BeforeNavigate2")
End If
End Sub
VB代码,首先建立一个新工程,在Form1中加入一个Webbrowser控件,然后在Form1中加入以下代码:
Private Sub Form_Load()
End Sub
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
End Sub
test.html页面代码:
'===========================================================================================
2.VB响应网页按钮事件
VB代码,首先建立一个新工程,在Form1中加入一个Webbrowser控件,然后在Form1中加入以下代码:
Private Sub Form_Load()
End Sub
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
End Sub
Public Sub test()
End Sub
第二步,在工程中添加一个Class Module,Class Module的Name属性设定为clsForward,在clsForward中添加以下代码:
Option Explicit
Dim oObject As Object
Dim sMethod As String
Dim bInstantiated As Boolean
Private Sub Class_Initialize()
End Sub
Public Sub Set_Destination(oInObject As Object, sInMethod As String)
End Sub
Public Sub My_Default_Method()
End Sub
第三步,把My_Default_Method设置为默认过程,方法是:在clsForward模块的代码窗口中将光标定位到My_Default_Method中,然后选择菜单 Tools | Procedure Attributes。然后在弹出窗口中点击advanced按钮,然后在procedure id下拉框中选择[Default]。
test.html页面代码:
'===========================================================================================
还有一种响应网页的方法,就是监判断网页当前的链接地址,不同的链接地址触发不同的函数。
如:
Private Sub WebBrowser1_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean)
End Sub