Excel VBA - 传递用户名& Web Query连接的密码

时间:2014-05-14 14:40:21

标签: excel-vba excel-2010 excel-web-query vba excel

我们在Excel工作表上有一个Web查询,该工作表转到MoneyFacts(Moneyfacts website)以获取最新的Bond& ISA储蓄率。

费率页面需要在显示费率页面之前按用户名和密码登录(因为它是订阅网站)。

通过反复试验并查看登录页面的内容,我能够确定我需要将这些符号添加到连接中:

  • 用户名: ctl00 $ body $ txtUsername
  • 密码: ctl00 $ body $ txtPassword

所以我改变了数据表的c onnection属性,如下所示:

sheets("ISA 3Yr").range("A12").QueryTable.Connection="URL;http://analyser.moneyfacts.co.uk/savings/forms/frmDashboard.aspx?symbol=[""body_txtUsername""]”&symbol=[""body_txtPassword""]”&did=37&module=2&tocfilter=15&view=2&rerun=92680f6c-9fcc-4585-9b2a-aaf9b281cf88"

现在,当我们第一次单击功能区上的刷新所有时,将显示对话框,以便我们输入用户名和密码。每次我们选择输入数据并刷新网页查询。

但是下次没有要求登录,就失败了。

我们如何正确地将参数传递给网页查询?

1 个答案:

答案 0 :(得分:1)

您可以在网址的查询字符串部分中传递参数,因此在您的示例中,您有did=37&module=2&tocfilter=15&view=2&这是一系列给出的键值对

did=37   
module=2
tocfilter=15
view=2

或者它们发布在HTTP标头中。您需要一个HTTP嗅探器工具来进一步调查。我在http://www.telerik.com/fiddler使用了Fiddler,这非常好。