vba - 使用来自不同单元格的超链接时出错
问题描述
我在 vba 中编写了一个脚本来利用hyperlinks
from Range(A1")
to来从每个网页Range("A2")
中抓取。但是,当我执行以下宏时,title
我收到一个错误。Expected Function or Variable
.FollowHyperlink
Sub getTitle()
Dim Http As New XMLHTTP60, Html As New HTMLDocument
Dim cel As Range
For Each cel In Sheets("summary").Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row)
If cel <> vbNullString Then
With Http
.Open "GET", ThisWorkbook.FollowHyperlink(cel), False
.send
Html.body.innerHTML = .responseText
End With
Debug.Print Html.queryselector("p.ueberschrift").innertext
End If
Next cel
End Sub
如何使用这些超链接来解析网页的标题?
解决方案
您需要一个字符串,更具体地说是一个绝对 url,在XMLHttpRequestGET
的方法中传递。Open
相反,您正在尝试使用Workbook.FollowHyperlink,这是一个返回Workbook
对象的表达式。结果可能如下:
如果已下载,则显示缓存的文档。否则,此方法解析超链接,下载目标文档,并在适当的应用程序中显示该文档。
你正在尝试的东西是不可能的。
语法是:
If cel <> vbNullString Then
ThisWorkbook.FollowHyperlink cel.Value
然后,您可能会注意到一个新的选项卡/浏览器窗口打开,以显示适当的 Web 文档(如果有效)。
我相信您的消息的特殊性是由于您在参数周围使用了括号。
您可以检索超链接的基础地址:
.Open "GET", cel.Hyperlinks(1).Address, False
推荐阅读
- python - 为什么熊猫会提出“KeyError:True”,而“df.Apples==30 & True”也不是关键?
- c - printf 出了什么问题
- python - pandas SeriesGroupBy.nlargest 重复多级索引
- r - 在pickerinput中选择所有内容时如何显示全部
- php - FCM 数据消息未传递到设备
- javascript - 如何在容器内对齐我的桌子?
- reactjs - React Native 错误:未定义不是对象 RNGestureHandlerModule
- python-3.x - 检查有效电子邮件地址时,模块 validate_email 会抛出 None
- php - Cloudflare 重复长请求
- javascript - 如何从 Contentful 中获取单个条目并按字段值查询?