Tôi cần tải xuống tệp CSV từ trang web sử dụng VBA trong Excel. Máy chủ cũng cần xác thực tôi vì đó là dữ liệu từ dịch vụ khảo sát.Làm cách nào để tải xuống tệp bằng VBA (Không có trình duyệt internet)
Tôi đã tìm thấy rất nhiều ví dụ sử dụng Internet Explorer được kiểm soát với VBA cho việc này. Tuy nhiên, đó là giải pháp chủ yếu là chậm và hầu hết cũng được phức tạp.
Cập nhật: Sau một thời gian tôi tìm thấy một giải pháp tiện lợi sử dụng đối tượng Microsoft.XMLHTTP trong Excel. Tôi nghĩ rằng để chia sẻ các giải pháp dưới đây để tham khảo trong tương lai.
Cảm ơn - rất tuyệt. Vấn đề duy nhất của tôi là sau đó bất kỳ ai nhận được tệp VBA của bạn đều có mật khẩu của bạn. Bất kỳ lời khuyên nào để vượt qua điều đó hoặc mã hóa nó theo một cách nào đó? Cảm ơn một lần nữa! – rryanp
Không vấn đề gì :) Bạn đã đúng, không nên lưu trữ mật khẩu trong mã của bạn. Trong Ruby tôi luôn sử dụng các biến môi trường, bạn có thể làm một cái gì đó tương tự trong VBA. Trong excel bạn có thể mã hóa các tập tin để người dùng không thể lấy mã của bạn. Tôi chưa bao giờ thử điều này nhưng hãy thử liên kết này: http://www.vbaexpress.com/forum/showthread.php?914-how-to-encrypt-vba-code-on-the-fly –
“myURL là gì = ... responseBody ”(ngay trước If nếu)? Có vẻ không cần thiết ... –