Загрузить файл с индикатором выполнения в VBA

Я нашел множество примеров для этого на нескольких языках, но ни один из них не относится к VBA. В этом вопросе Как загрузить несколько файлов в VB6 с индикатором выполнения? рассматриваются три разных подхода для этого в VB6.

  1. Используйте свойство ASyncRead объектов UserControl / UserDocument VB6
  2. Тип использования библиотека olelib.tlb и интерфейс IBindStatusCallback
  3. Используйте wininet.dll для записи собственной функции загрузки в файл

Ни один из этих подходов не работает для меня, потому что:

  1. Объекты UserControl / UserDocument недоступны из VBA
  2. Я бы предпочел не поддерживать и распространять большую внешнюю зависимость
  3. Я не видел очевидного способа узнать текущий прогресс загрузки файла

Номер 2 выше казался наиболее многообещающим. Мне интересно, могу ли я создать интерфейс IBindStatusCallback, используя модуль класса из моего проекта VBA?

Или, может быть, есть свойства / методы, доступные с использованием номера 3 выше, которые будут обеспечивать текущий прогресс. Приветствуется любая помощь.

10
задан Community 23 May 2017 в 12:34
поделиться