excel - 无法从函数返回多个结果以便在子程序中打印它们
问题描述
我试图从一个函数返回多个结果,以便在 sub.xml 中打印它们GetInfo()
。当我让函数返回一个项目并在 内打印它GetInfo()
时,它可以完美地工作,但如果返回多个结果,我会卡住,就像在getHTTP = elemText, elemlink
和 then中一样oText, oLink = getHTTP(Url)
。
我试过了:
Function getHTTP(ByVal link$) As String
Dim oHttp As New XMLHTTP60, Html As New HTMLDocument, post As Object
With oHttp
.Open "GET", link, False
.send
Html.body.innerHTML = .responseText
Set post = Html.querySelector(".summary .question-hyperlink")
elemText = post.innerText
'The following line is commented for now. I would like to print it as well within the sub
'elemlink = post.getAttribute("href")
getHTTP = elemText
End With
End Function
Sub GetInfo()
Const Url$ = "https://stackoverflow.com/questions/tagged/web-scraping"
Dim oText$
oText = getHTTP(Url)
Debug.Print oText
End Sub
如何打印应由功能处理的帖子的
link
和 ,保持现有设计完好无损?title
GetInfo()
getHTTP()
解决方案
你可以这样做:
Function getHTTP(ByVal link$)
Dim oHttp As New XMLHTTP60, Html As New HTMLDocument, post As Object
With oHttp
.Open "GET", link, False
.send
Html.body.innerHTML = .responseText
Set post = Html.querySelector(".summary .question-hyperlink")
elemText = post.innerText
elemlink = post.getAttribute("href")
getHTTP = Array(elemText, elemlink)
End With
End Function
Sub GetInfo()
Const Url$ = "https://stackoverflow.com/questions/tagged/web-scraping"
Dim results
results = getHTTP(Url)
Debug.Print results(0), results (1)
End Sub
可能更好地创建一个简单的类型或类并返回它。
推荐阅读
- python - 我正在尝试在 Mac 上安装 pyaudio 并收到以下错误
- tomcat - 如何将战争文件从 Jenkins 服务器复制到 GCP 云上运行的 Tomcat 服务器
- graphql - 如何选择最佳策略来使用 AWS Cognito 用户池配置基于角色的授权?
- php - 删除帖子重定向到另一个路由
- python - 将图集图像加载到 Kivy 项目时出错
- typescript - 在 Typescript 中更改数组项的类型
- python - Python - 如何在 Python 中使用逗号分隔(将一行分成三列)
- mysql - 在 MySQL 中选择最多 5 个结果的多个类别
- c# - 如何预编译 Razor 视图的一部分?
- node.js - Node.JS 中未显示子进程输出