На Экселе получается не сильно длиннее, чем на питоне:
Public Declare Function URLDownloadToFile Lib "urlmon" Alias _
"URLDownloadToFileA" (ByVal pCaller As Long, _
ByVal szURL As String, _
ByVal szFileName As String, _
ByVal dwReserved As Long, _
ByVal lpfnCB As Long) As Long
' http://site.ru/images/site/site_ru_logo.png
Sub Start()
Call DownloadToFile("http://site.ru/images/site/site_ru_logo.png", "D:\123.png")
End Sub
Public Sub DownloadToFile(url$, FileName$)
Dim lngRetVal&
lngRetVal = URLDownloadToFile(0, url, FileName, 0, 0)
If lngRetVal <> 0 Then
MsgBox "Error in DownloadToFile: Can't download from " & url & " to " & FileName
End If
End Sub