ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > Excel VBA > 如何使用VBA,将网页导入后,停止页面转跳,并获取鼠标所指链接的文本

如何使用VBA,将网页导入后,停止页面转跳,并获取鼠标所指链接的文本

作者:绿色风 分类: 时间:2022-08-18 浏览:119
楼主
xmyjk
Q:如何使用VBA,将网页导入后,停止页面转跳,并获取鼠标所指链接的文本?

A:
  1. Dim uuu

  2. Public Sub setUrl(ByVal URL)
  3.   uuu = URL
  4.   WebBrowser1.Navigate URL '开始导入指定页面
  5.   
  6. End Sub

  7. Private Sub btnClose_Click()
  8.   Unload Me '点击关闭按钮,关闭窗体
  9. End Sub

  10. 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)
  11.    If URL <> uuu Then Cancel = True '如果指向链接不等于原URL,则取消转向,正是利用这个,停止网页点击超链接后的转向。
  12. End Sub

  13. Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
  14.       Dim dmt As Object
  15.       Set dmt = pDisp.Document
  16.       With dmt
  17.       For i = 0 To .All.tags("a").Length - 1
  18.           .All.tags("a")(i).href = .All.tags("a")(i).innertext '将所有的超链接的网址,替换成超链接的文本
  19.       Next
  20.    End With
  21. End Sub

  22. Private Sub WebBrowser1_DownloadBegin()
  23.    lblDowninfo.Caption = "正在加载..."
  24. End Sub

  25. Private Sub WebBrowser1_DownloadComplete()
  26.    lblDowninfo.Caption = "加载完成"
  27. End Sub

  28. Private Sub WebBrowser1_StatusTextChange(ByVal Text As String)
  29.    Dim arr
  30.    If Text Like "*/*" Then '跟踪状态栏的变化,如果状态栏文本含有"/"的链接形式
  31.    arr = Split(Text, "/")  
  32.    [a65536].End(3).Offset(1) = arr(UBound(arr)) '截取最后一段的部分,即链接的文本。
  33.    End If
  34. End Sub
  1. Public uuu As String

  2. [code]Public uuu As String

  3. Sub test()
  4.    Columns(1) = ""
  5.    uuu = ThisWorkbook.Path & "\demo.html" '向程序指定导入网址
  6.    Link.setUrl uuu '传递给予窗体的WEBBROWSER控件进行加载。
  7.    Link.Show 0
  8. End Sub

demo.rar
2楼
xyf2210
学习

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap