Tôi đã tìm thấy nhiều ví dụ để thực hiện việc này bằng nhiều ngôn ngữ, nhưng không có ví dụ nào là VBA cụ thể. Câu hỏi này, How to download multiple files in VB6 with progress bar?, địa chỉ ba cách tiếp cận khác nhau để làm điều này trong VB6.Tải xuống tệp với số đo tiến độ trong VBA
- Sử dụng tài sản của VB6 UserControl/UserDocument ASyncRead đối tượng
- Sử dụng loại olelib.tlb thư viện và giao diện IBindStatusCallback
- Sử dụng wininet.dll để viết tải của riêng bạn để nộp chức năng
Không phương pháp nào trong số này phù hợp với tôi vì:
- Đối tượng UserControl/UserDocument không sẵn từ VBA
- Tôi không muốn có để duy trì và phân phối một sự phụ thuộc lớn bên ngoài
- Tôi không nhìn thấy một cách rõ ràng để có được sự tiến bộ tập tin tải về hiện tại
Số 2 ở trên có vẻ hứa hẹn nhất . Tôi tự hỏi nếu tôi có thể tạo ra một giao diện IBindStatusCallback bằng cách sử dụng một mô-đun lớp từ bên trong dự án VBA của tôi?
Hoặc có thể có các thuộc tính/phương pháp có sẵn bằng cách sử dụng Số 3 ở trên sẽ cung cấp tiến trình hiện tại. Bất kỳ sự giúp đỡ nào cũng được đánh giá cao.
Hiển thị thanh tiến trình rất đơn giản. Khó khăn trong việc tìm ra tiến độ của bản tải xuống. Nói cách khác, tôi muốn biết nếu có một cách để truy vấn trạng thái tải xuống hiện tại để xem liệu tôi có hoàn thành 10% hay 25% hoàn thành, v.v. Ngay bây giờ tôi chỉ biết khi nào tôi hoàn thành 0% và hoàn thành 100%. Điều đó không hữu ích cho người dùng của tôi. – mwolfe02
Xem câu trả lời cập nhật của tôi. Nó không phải là nhiều nhưng nó là một cái gì đó. – JimmyPena