怎么会?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)
Debug.Print pDisp.Name, URL
End SubpDisp 实际上是一个 WebBrowser 对象。
Debug.Print pDisp.Name, URL
End SubpDisp 实际上是一个 WebBrowser 对象。
MsgBox URL
End Sub
可以执行啊
跟踪调试,这个事件根本就没有被执行!!!
为什么?我的机器是Win2000,有关系??不可能吧?
因为我不想弹出窗口(就调出IE了!!!),尽量控制在自己的VB程序中。
怎样开新窗口。
引发 BeforeNavigate2 事件而是引发 NewWindow2 事件。而该事件只能决定是否
弹出新窗口。需要利用MSHTML修改链接。
然后代码:
Private Sub Command1_Click()
WebBrowser1.Navigate "http://www.applevb.com"
End SubPrivate Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
Dim vDoc, vtag As Object
Set xobj = pDisp
Set vDoc = xobj.Document
For i = 0 To vDoc.All.length - 1
If UCase(vDoc.All(i).tagName) = "A" Then
Set vtag = vDoc.All(i)
vtag.Target = "_self"
End If
Next i
End Sub注意,上面的代码需要文档全部下载完毕后才生效。