He encontrado numerosos ejemplos para hacer esto en varios idiomas, pero ninguno que sea específico de VBA. Esta pregunta, How to download multiple files in VB6 with progress bar?, aborda tres enfoques diferentes para hacer esto en VB6.Descargar el archivo con el medidor de progreso en VBA
- Utilice la propiedad AsyncRead del control de usuario VB6/UserDocument objetos
- Uso tipo OLELIB.TLB biblioteca y la interfaz IBindStatusCallback
- Uso wininet.dll para escribir su propia función de descarga para presentar
Ninguno de estos enfoques funciona para mí porque:
- Los objetos UserControl/UserDocument no son disponible de VBA
- que preferiría no tener que mantener y distribuir una gran dependencia externa
- no vi una forma obvia de conseguir el progreso de descarga de archivos actual
número 2 anterior parecía el más prometedor . Me pregunto si puedo crear una interfaz IBindStatusCallback utilizando un módulo de clase desde mi proyecto de VBA.
O tal vez hay propiedades/métodos disponibles utilizando el número 3 anterior que proporcionaría el progreso actual. Cualquier ayuda es muy apreciada.
Mostrar la barra de progreso es simple. La dificultad está en descubrir el progreso de la descarga en sí. En otras palabras, me gustaría saber si hay una forma de consultar el estado de descarga actual para ver si estoy al 10% completo, o al 25% completo, etc. Ahora mismo solo sé cuando estoy al 0% completo. y 100% completo. Eso no es demasiado útil para mis usuarios. – mwolfe02
Ver mi respuesta actualizada. No es mucho, pero es algo. – JimmyPena