หากรู้ url เป้าหมายที่จะทำการใส่แล้วดาวโหลดไฟล์ได้เลย เราสามารถเขียนฟังก์ชั่นสำหรับ Download ไฟล์นั้นด้วย VBA โดยไม่ต้องเปิดเว็บเบราว์เซอร์ (web browser) เพื่อดาวน์โหลด
'----------------Code Start----------------
Public Function DownloadFileB(ByVal URL As String, ByVal DownloadPath As String, ByRef Username As String, ByRef Password, Optional Overwrite As Boolean = True) As Boolean
On Error GoTo Failed
Dim WinHttpReq As Object
Set WinHttpReq = CreateObject("Microsoft.XMLHTTP")
WinHttpReq.Open "GET", URL, False, Username, Password
WinHttpReq.send
If WinHttpReq.Status = 200 Then
Dim oStream As Object: Set oStream = CreateObject("ADODB.Stream")
oStream.Open
oStream.Type = 1
oStream.Write WinHttpReq.responseBody
oStream.SaveToFile DownloadPath, Abs(CInt(Overwrite)) + 1
oStream.Close
DownloadFileB = Len(Dir(DownloadPath)) > 0
Exit Function
End If
Failed:
DownloadFileB = False
End Function
'-----------------Code End-----------------
<การใช้งาน>
DownloadFileB("ที่อยู่ url เป้าหมาย", "ที่อยู่พาธและชื่อไฟล์ที่ต้องการเซฟ", "ชื่อผู้ใช้(ถ้ามี)", "รหัสผ่าน(ถ้ามี)", เขียนทับไฟล์เดิม ) As Boolean
<ตัวอย่าง>
DownloadFileB("
https://wallpapersflix.com/cool/wp-content/uploads/2020/07/Cool-Wallpaper-PC.jpg", "C:\TEMP\Pic.jpg", "", "")