Trên diễn đàn, chúng ta đã có một chủ đề về mở một URL bằng Internet Explorer cũng như thao tác với Internet Explorer thông qua VBA.
Tuy nhiên, nếu chúng ta mở một trang có nhiều hình ảnh, thì sẽ mất rất nhiều thời gian chờ load trang. Cách mở trang như vậy có ưu điểm là sẽ lấy đầy đủ thông tin, nhưng trong trường hợp nếu chúng ta chỉ cần quan tâm tới mã HTML của trang đó, thì tôi muốn giới thiệu mọi người một cách đơn giản sử dụng Object XMLHTTP.
Để hiểu tường tận XMLHTTP là gì, mọi người hãy thử tìm kiếm qua Internet nhé.
Đoạn code dưới đây sẽ lưu trang tuhocvba.net thành C:\\sample.htm
Tùy thuộc vào phiên bản XMLHTTP mà CreateObject("MSXML2.XMLHTTP") sẽ khác nhau. Tuy nhiên đối với môi trường của tôi, thì thế là đủ rồi. Hoặc là đoạn code này StrConv(Http.ResponseBody, vbUnicode), các bạn cũng có thể thay đổi.
Nguồn:
Bạn cần đăng nhập để thấy link
Tuy nhiên, nếu chúng ta mở một trang có nhiều hình ảnh, thì sẽ mất rất nhiều thời gian chờ load trang. Cách mở trang như vậy có ưu điểm là sẽ lấy đầy đủ thông tin, nhưng trong trường hợp nếu chúng ta chỉ cần quan tâm tới mã HTML của trang đó, thì tôi muốn giới thiệu mọi người một cách đơn giản sử dụng Object XMLHTTP.
Để hiểu tường tận XMLHTTP là gì, mọi người hãy thử tìm kiếm qua Internet nhé.
Đoạn code dưới đây sẽ lưu trang tuhocvba.net thành C:\\sample.htm
Mã:
Sub Sample()
Dim Http, buf As String
Set Http = CreateObject("MSXML2.XMLHTTP")
Http.Open "GET", "https://tuhocvba.net", False
Http.Send
buf = StrConv(Http.ResponseBody, vbUnicode)
Open "C:\sample.htm" For Output As #1
Print #1, buf
Close #1
Set Http = Nothing
End Sub
Nguồn:
Bạn cần đăng nhập để thấy link
Sửa lần cuối: