昨天在百度知道上提了这个问题,我保存了些百度知道我回答的网址,想利用excel直接读取出网址的title,请问vba代码怎么写?(要支持https的)
excel大神帮我回答了,在这记录下:
Function getTitle(sUrl As String) Dim oXHTTP As Object, Str As String
Set oXHTTP = CreateObject("MSXML2.XMLHTTP")
oXHTTP.Open "GET", sUrl, False
oXHTTP.send
getsource = StrConv(oXHTTP.responseBody, vbUnicode, &H804)
Set oXHTTP = Nothing Arr = VBA.Split(getsource, "<title>")
Str = Arr()
Arr = VBA.Split(Str, "</title>")
Str = Arr()
getTitle = Str End Function
函数说明:在ecxccel中,选择“开发工具”选项卡,选择第一项“visual bisic”选项,出现“visual bisic”面板,在左侧“模块”栏新建一个模块,把上面的代码粘贴进去。
(ps:如果找不到“开发工具”项,按照以下操作调出来:点击菜单栏“文件”→“选项”,调出“excel选项”面板,选择左侧“自定义功能区”,在右侧“主功能区”位置把“开发工具”前面的对勾勾上就行了)
使用方法 :例如网址在A1单元格,公式写成:=getTitle(A1),最后保存文件的时候,保存成.xlsm文件即可