作者:绿色风
分类:
时间:2022-08-18
浏览:119
楼主 xmyjk |
Q:如何使用VBA,将网页导入后,停止页面转跳,并获取鼠标所指链接的文本?
A:- Dim uuu
- Public Sub setUrl(ByVal URL)
- uuu = URL
- WebBrowser1.Navigate URL '开始导入指定页面
-
- End Sub
- Private Sub btnClose_Click()
- Unload Me '点击关闭按钮,关闭窗体
- End Sub
- 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 <> uuu Then Cancel = True '如果指向链接不等于原URL,则取消转向,正是利用这个,停止网页点击超链接后的转向。
- End Sub
- Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
- Dim dmt As Object
- Set dmt = pDisp.Document
- With dmt
- For i = 0 To .All.tags("a").Length - 1
- .All.tags("a")(i).href = .All.tags("a")(i).innertext '将所有的超链接的网址,替换成超链接的文本
- Next
- End With
- End Sub
- Private Sub WebBrowser1_DownloadBegin()
- lblDowninfo.Caption = "正在加载..."
- End Sub
- Private Sub WebBrowser1_DownloadComplete()
- lblDowninfo.Caption = "加载完成"
- End Sub
- Private Sub WebBrowser1_StatusTextChange(ByVal Text As String)
- Dim arr
- If Text Like "*/*" Then '跟踪状态栏的变化,如果状态栏文本含有"/"的链接形式
- arr = Split(Text, "/")
- [a65536].End(3).Offset(1) = arr(UBound(arr)) '截取最后一段的部分,即链接的文本。
- End If
- End Sub
- Public uuu As String
- [code]Public uuu As String
- Sub test()
- Columns(1) = ""
- uuu = ThisWorkbook.Path & "\demo.html" '向程序指定导入网址
- Link.setUrl uuu '传递给予窗体的WEBBROWSER控件进行加载。
- Link.Show 0
- End Sub
demo.rar |
2楼 xyf2210 |
学习 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一