Excel从Web表单获取数据?

我提前道歉,因为我无法解决这个问题。

我们需要在Excel中有一个对话框,可以根据我们服务器的数据dynamic更改。

我怎样才能让Excel显示一个由HTML生成的表单(应该直接从Web服务器中获取),然后把这个表单提交到一个VBAstring中,然后我可以操作它的结果呢?

(假设用户有一个连接到互联网的可靠连接,而且我们的服务器永远不会closures。)

有没有办法让Excel打开一个浏览器窗口的行为,我可以像这样拦截? 或者我将不得不使用Ajax并自己parsingHTML来创buildVBA的表单?

我希望这个问题更有意义! 谢谢!

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

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

如果你有Excel 2010,你可以尝试一下Data->From Webfunction。 我相信你可以用VBA进行整合

您可以使用XMLHttp的实例来请求和接收来自Web服务器的信息。 如果您正在访问的“webservice”在您的控制之下,那么最好将数据作为csv /纯文本返回,如果需要更多结构化的数据集,则返回XML。

如果您需要在请求中传递一些信息,那么您可以使用GET或POST(取决于您需要发送多less)。 这将模仿常规网页表单的发布。

这是一个简单的函数,它将从传递给它的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”是您传递给请求的信息,以确定服务器要回复哪些信息。