繁体   English   中英

Excel VBA-将用户名和密码传递到Web查询连接

[英]Excel VBA - passing username & password to Web Query connection

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

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

通过反复试验并查看登录页面的颜色,我能够确定需要在连接中添加以下符号:

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

所以我如下更改了数据表的连接属性:

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"

现在,当我们第一次单击功能区上的“ 全部刷新”时,将显示对话框,以便我们输入用户名和密码。 每次选择输入数据,都会刷新Web查询。

但是下次,如果不要求登录,它将失败。

如何将参数正确传递给Web查询?

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM