QueryTable身份验证

时间:2013-07-16 20:29:26

标签: vba excel-vba vbscript excel

我有一个VBScript,可以通过QueryTables将数据输入Excel表格。该脚本工作正常,但URL是需要基本身份验证的服务器。因此,当脚本运行时,弹出的登录会询问用户名密码。无论如何都要以编程方式提供此用户名和密码。

我的查询表就像这样

Set objWeb = wks.QueryTables.Add(URL,wks.Range("A1"))
With objWeb
  .WebSelectionType = xlSpecifiedTables
  .WebTables = sWebTable
  .Refresh False
  .SaveData = True 
End With

帮帮我......

1 个答案:

答案 0 :(得分:0)

XMLHttpRequest可能如下所示:

url = "http://www.example.org/"
credentials = "username=jsmith&password=foobar"

Set req = CreateObject("Msxml2.XMLHttp.6.0")
req.open "POST", url, False
req.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
req.send credentials

If req.Status = 200 Then
  html = CreateObject("HTMLFile")
  html.write req.responseText
  'do stuff with HTMLDocument object
End If

您需要将url更改为实际网址,并根据服务器的要求调整credentials。像Fiddler这样的工具可以帮助您找出凭据字符串必须是什么样的。

如果您将responseText写入HTMLDocument对象,则可以使用常规方法处理代码,例如getElementById()getElementsByTagName()