Download file with progress meter in VBA

Viewed 4881

I've found numerous examples for doing this in several languages, but none that are VBA specific. This question, How to download multiple files in VB6 with progress bar?, addresses three different approaches to do this in VB6.

  1. Use the ASyncRead property of the VB6 UserControl/UserDocument objects
  2. Use type library olelib.tlb and the IBindStatusCallback interface
  3. Use wininet.dll to write your own download to file function

None of these approaches work for me because:

  1. The UserControl/UserDocument objects are not available from VBA
  2. I'd rather not have to maintain and distribute a large external dependency
  3. I did not see an obvious way to get the current file download progress

Number 2 above seemed the most promising. I'm wondering if I can create an IBindStatusCallback interface using a class module from within my VBA project?

Or maybe there are properties/methods available using Number 3 above that would provide the current progress. Any help is much appreciated.

2 Answers
Related