簡體   English   中英

Excel 從 web 表單獲取數據?

[英]Excel getting data from a web form?

我提前道歉,因為我在表達這個問題時遇到了麻煩。

我們需要在 Excel 中有一個對話框,可以根據來自我們服務器的數據動態更改。

如何讓 Excel 顯示從 HTML 生成的表單(應直接從網絡服務器檢索),然后將該表單提交的結果轉換為 Z6E3EC7E6A9F6007B4838FC0EE793A809 可以操作的字符串?

(假設用戶有一個持續可靠的互聯網連接,並且我們的服務器永遠不會關閉。)

有沒有辦法讓 Excel 打開瀏覽器 window 我可以像這樣攔截其行為? 還是我必須使用 Ajax 並自己解析 HTML 以從 VBA 創建一個表單?

我希望這個問題甚至有意義! 謝謝!

使用 Internet Explorer ActiveX 控件。 這是 Excel VBA 的完整教程:

http://vba-corner.livejournal.com/4623.html

如果你有 Excel 2010,你可以試試Data->From Web功能,這很酷。 我相信你可以將它與 VBA 集成

您可以使用 XMLHttp 的實例從網絡服務器請求和接收信息。 如果您正在訪問的“網絡服務”在您的控制之下,那么最好將數據返回為 csv/純文本,或者如果您需要更結構化的數據集,則返回 XML 會更好。

如果您需要在請求中傳遞一些信息,那么您可以使用 GET 或 POST(取決於您需要發送多少)。 這將模仿常規 web 頁面表單的發布。

這是一個簡單的 function ,它將從傳遞給它的 URL 中獲取信息:

Private Function WebResponse(sURL As String) As String

    Dim XmlHttpRequest As Object
    Set XmlHttpRequest = CreateObject("MSXML2.XMLHTTP")
    XmlHttpRequest.Open "GET", sURL, False
    XmlHttpRequest.send
    WebResponse = XmlHttpRequest.responseText

End Function

您的 URL 的形式可能是: http://yourserver/page.php?id=22

其中“22”是您傳遞給請求的信息,以確定服務器要回復的信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM