1

我们在 Excel 工作表上进行了网络查询,该工作表可访问 MoneyFacts(Moneyfacts 网站)以获取最新的债券和 ISA 储蓄率。

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

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

  • 用户名:ctl00$body$txt用户名
  • 密码:ctl00$body$txt密码

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

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 查询?

4

1 回答 1

1

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

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

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

于 2014-05-15T13:45:39.907 回答