gpt4 book ai didi

vba - 使用excel vba从网站下载zip文件(如果还能够从zip文件中提取csv并在excel中打开它,那就更好了)

转载 作者:行者123 更新时间:2023-12-02 19:12:52 25 4
gpt4 key购买 nike

经过相当多的搜索后,我无法制作一个可以从特定网站下载 .zip 文件的宏。我的意思是我已经能够找到类似的问题,但无法应用必要的更改来解决我的问题。包含 zip 文件的网站是:https://nio.gov.si/nio/data/prvic+registrirana+vozila+v+letu+2014+po+mesecih ,在表标题“Priponke”下是文件。例如:2014 年 12 月 (959 kb)、2014 年 11 月 (1061 kb)、... 下载 2014 年 12 月 zip 文件的 url 为“cms/download/document/a7605005b6879fe5f7dbab6d60d4ae787dbced6b-1422453741279”。我提前感谢您并等待您的回复。

我当前的代码是:

Public Sub DownloadFile()
Dim objWHTTP As Object
Dim strPath As String
Dim arrData() As Byte
Dim lngFreeFile As Long

On Error Resume Next
Set objWHTTP = CreateObject("WinHTTP.WinHTTPrequest.5")
If Err.Number <> 0 Then
Set objWHTTP = CreateObject("WinHTTP.WinHTTPrequest.5.1")
End If
On Error GoTo 0

strPath = "https://nio.gov.si/nio/data/prvic+registrirana+vozila+v+letu+2014+po+mesecih"
strPath = "https://nio.gov.si/nio/cms/download/document/a7605005b6879fe5f7dbab6d60d4ae787dbced6b-1422453741279"

objWHTTP.Open "GET", strPath, False
objWHTTP.send
arrData = objWHTTP.responseBody

If Len(Dir("C:\FootieFile", vbDirectory)) = 0 Then
MkDir "C:\FootieFile"
End If

lngFreeFile = FreeFile
Open "C:\FootieFile\MyFile.xml" For Binary Access Write As #lngFreeFile
Put #lngFreeFile, 1, arrData
Close #lngFreeFile

Set objWHTTP = Nothing
Erase arrData
End Sub

亲切的问候

最佳答案

您需要下载一个二进制文件并保存它。这可以使用 MSXML2.XMLHTTP60 对象进行下载,并使用 ADODB.Stream 对象进行保存来完成。

参见例如http://www.motobit.com/tips/detpg_read-write-binary-files/

我已经成功地使用它从服务器下载 JPG 文件并将它们显示在 MS Access 前端中。

此外,我希望您意识到您不能以“cms”开头您的网址,因为您将需要完全限定的域名和资源(又名 http://等)

还要小心 unicode 数据。为此,您可能需要使用 StrConv()。下载后检查文件大小是否与服务器上的大小相同。

关于vba - 使用excel vba从网站下载zip文件(如果还能够从zip文件中提取csv并在excel中打开它,那就更好了),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35625303/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com