Hola Pepito:
Esto lo puedes hacer de dos formas, a gusto del consumidor:
1-Seleccionando en tiempo de ejecución la carpeta de destino del archivo a descargar. (Te pide la capeta donde quieres grabar el JPG descargado) :
Option Compare Database
Private Declare Function DoFileDownload Lib "shdocvw.dll" _
(ByVal lpszFile As String) As Long
Option Explicit
Private Sub Descargar_Click()
DoFileDownload _
StrConv("http://www.grijalvo.com/Cz_Felinitos/Gato%20con%20botas.jpg", vbUnicode)
End Sub
-----------------------------------------------------------------------------------------------------------
2-De forma oculta indicando en el código tanto la dirección en la Web como el destino en el disco duro y además te permite cambiar en destino el nombre del JPG por otro :
Option Compare Database
Private 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
Dim ERROR_SUCCESS
Option Explicit
Private Function DownloadFile(ByVal sURL As String, ByVal sLocalFile As String) As Boolean
DownloadFile = URLDownloadToFile(0, sURL, _
sLocalFile, 0, 0) = ERROR_SUCCESS
End Function
Private Sub Descargar_Click()
Dim OrigenUrl As String
OrigenUrl = "http://www.grijalvo.com/Cz_Felinitos/Gato%20con%20botas.jpg"
DownloadFile OrigenUrl, "C:\Tu Carpeta de Destino\Este es mi Gato.jpg"
End Sub
Utiliza en un Formulario una u otra opción, no pegues las dos en el mismo Formulario. Si quieres probar las dos formas, usa dos formularios y fíjate que al botón de comando lo he llamado "Descargar".
Saludos
Enrique