EXCEL VBA - 从网站打开文本文件
我想从读取网站中的文本文件(如www.site.com/example.txt)中读取,并相应地更新Excel表格中的选项卡。是否有可能使用Excel VBA?你能提供一些例子吗?EXCEL VBA - 从网站打开文本文件
你能否建议我需要通读以便我能达到目标。是否有一些onlien教程或材料可用。请帮助
下面的网站有一个如何在JAVA中的例子。有没有人有VBA的例子?
是的,你可以使用e.g HTTP客户端库来获取从网页。
也有工具可用或此类任务 http://www.iopus.com/iMacros/excel.htm?ref=rg8excel1HB&gclid=CLWbrNef2p0CFUtp4wodBnx8sQ。
如果你想自己做,你必须参考 “Microsoft Internet Transfer”Active X控件。
例如,你可能会 BUF = HTTPControl.OpenURL(page_you_like_to_fetch,icByteArray)抓取网页 你再可以只用通常的“嫌疑人”打开它就像打开 或者可以注册文件作为ODBC数据源,并获取它与 SQL类似的语句。
当然你也可以手工做。打开文件,在一个文件之后访问另一个文件并将其放入适当的Execl单元中。
我喜欢弗里德里希的建议,但是如果你想做到这一点你可以使用shell命令的另一种方式从内部VBA来启动这个进程:
Windows Implementation of the Linux WGet command
这是Linux的一个端口命令,该命令从命令行获取网站(URL)的内容到文件,然后可以打开已在本地创建的VBA代码中的文件并相应地处理它。
(还可有此命令的其它实现,我只是链接到的第一个,我在谷歌找到)
看看在Workbooks.OpenText method。 filename参数将接受一个http URL。该方法允许您在一个步骤中打开并解析它(假设它是一个分隔文件)。
Application.Workbooks.OpenText("http://somewebsite.com/test.txt", _
StartRow:=3, _
DataType:=Excel.XlTextParsingType.xlDelimited, _
TextQualifier:=Excel.XlTextQualifier.xlTextQualifierNone, _
Comma:=True)
下面是如何下载文本文件的示例。
要求微软WinHTTPServices参考
Sub Test_DownloadTextFile()
Dim text As String
text = DownloadTextFile("http://*.com/")
'At this point you can process you file how you wish.
Debug.Print text
End Sub
'Tool.References... Add a reference to Microsoft WinHTTPServices
Public Function DownloadTextFile(url As String) As String
Dim oHTTP As WinHttp.WinHttpRequest
Set oHTTP = New WinHttp.WinHttpRequest
oHTTP.Open Method:="GET", url:=url, async:=False
oHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
oHTTP.setRequestHeader "Content-Type", "multipart/form-data; "
oHTTP.Option(WinHttpRequestOption_EnableRedirects) = True
oHTTP.send
Dim success As Boolean
success = oHTTP.waitForResponse()
If Not success Then
Debug.Print "DOWNLOAD FAILED!"
Exit Function
End If
Dim responseText As String
responseText = oHTTP.responseText
Set oHTTP = Nothing
DownloadTextFile = responseText
End Function