Excel Web Query Object and Cookie:有没有更好的方法



我有一个HTML网页在工作,我想将数据从表格查询到excel 2007中。此网页要求我使用密码登录。我使用普通的 IE7 浏览器登录,然后转到 DATA -> 连接 ->我的连接并编辑查询。这会读取IE7 cookie缓存,我重新发布数据以连接到服务器的安全性,当它说"Web查询未返回任何数据"时单击"重试"。完成此操作后,数据导入正常。

我可以很好地做到这一点,它只需要每天做一次。我的应用程序的其他用户发现这很困难,这导致了我的问题:

有没有办法使用 VB 自动回发此数据?我想也许我应该使用 IE 的 cookie 属性。Document.cookie?

在继续 Web 查询(设置对 XML 库的引用)之前,我正在调用以下登录脚本。环顾四周,找到一些如何找到开机自检参数的说明。

Sub XMLHttpLogin()
    Dim i As Integer
    Dim sExpr As String
    Dim sPar As String, sURL as String
    Dim sResp As String
    Dim XMLHttp As MSXML2.XMLHTTP60
    Set XMLHttp = New MSXML2.XMLHTTP60
    sPar = "name=user1&pass=pass1&form_id=form1" 'The parameters to send.
    sURL = "http://www.stackoverflow.com"
    With XMLHttp
        .Open "POST", sURL, True 'Needs asynchronous connection
        .setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
        .send (sPar)
        i = 0 'wait until data has been downloaded
        Do While i = 0
            If .readyState = 4 Then
                If .Status = 200 Then Exit Do
            End If
            DoEvents
        Loop
        sResp = .responseText 'contains source code of website
        sExpr = "not-logged-in" 'look for this string in source code
        If InStr(1, sResp, sExpr, vbTextCompare) Then
            MsgBox "Not logged in. Error in XMLHttpLogin"
        End If
    End With
End Sub

最新更新