DEjo un ejemplo que saquè de la pàgina de micro$oft de como descar un archivo de una url mediante el control Inet. Yo le agreguè una barra de progreso pero no usando el Progressbar , sino mediante 2 Shape.
Poner un command1 que comienza la descarga
Un Control Inet
2 Shapes, Shape1 y Shape2
Nota: El Shape1 se usa para mostar el contorno del total del progreso, y el shape2 es el que va aumentando, es decir el progreso.
Private Sub Command1_Click()
Inet1.AccessType = icUseDefault
Inet1.URL = "
http://upx.sourceforge.net/download/upx124w.zip" Inet1.Execute , "GET" 'Indicamos que vamos a descargar o recuperar un _
archivo desde una url
End Sub
Private Sub Inet1_StateChanged(ByVal State As Integer)
Dim vtData As Variant 'acá almacenamos los datos
Dim nomArchivo As String
'extraemos de la ruta entera solo el nombre del archivo
nomArchivo = Right(Inet1.URL, Len(Inet1.URL) - InStrRev(Inet1.URL, "/"))
Select Case State
Case icResponseCompleted
Dim bDone As Boolean: bDone = False
Dim tempArray() As Byte ' Un array para grabar los datos en un archivo
'Para saber el tamaño del fichero en bytes
filesize = Inet1.GetHeader("Content-length")
'Establecemos el Max del = a al tamaño del archivo
contenttype = Inet1.GetHeader("Content-type")
'Creamos y abrimos un nuevo archivo en modo binario
Open App.Path + "\" + nomArchivo For Binary As #1
' Leemos de a 1 Kbytes. El segundo parámetro indica _
el tipo de fichero. Tipo texto o tipo Binario, en este caso _
binario
vtData = Inet1.GetChunk(1024, icByteArray)
DoEvents
'Si el tamaño del fichero es 0 ponemos bDone en True para que no _
entre en el bucle
If Len(vtData) = 0 Then
bDone = True
End If
Shape2.Width = 0
Do While Not bDone
'Almacenamos en un array el contenido del archivo
tempArray = vtData
'Escribimos el archivo en disco
Put #1, , tempArray
'Aumentamos la barra
Shape2.Width = Shape2.Width + (Len(vtData) * 2) * Shape1.Width / filesize
' Leemos de pedazos de a 1 kb (1024 bytes)
vtData = Inet1.GetChunk(1024, icByteArray)
DoEvents
If Len(vtData) = 0 Then
bDone = True
End If
Loop
Close #1
End Select
End Sub