【问题标题】:Excel VBA - passing username & password to Web Query connectionExcel VBA - 将用户名和密码传递给 Web Query 连接
【发布时间】:2014-05-14 14:40:21
【问题描述】:

我们在 Excel 工作表上进行了网络查询,该工作表转到 MoneyFacts (Moneyfacts website) 以获取最新的债券和 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"

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

但是下一次,不要求登录,它就失败了。

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

【问题讨论】:

  • 您可以编辑您的帖子以包含问题吗?
  • DOH,对不起,没有付款 :)

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


【解决方案1】:

您要么在网页 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,它非常好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多