RaoVat24h
Office Word

Tự tạo “trình duyệt” Internet với VBA

Advertisement

Trên thực tế, về mặt kỹ thuật thì với các hàm điều khiển, thiết lập được nhúng trong chương trình sử dụng VBA, chúng ta có thể nhập dữ liệu input và xử lý thông tin dưới dạng trang web qua ứng dụng tự tạo. Trong bài viết dưới đây, chúng tôi sẽ hướng dẫn các bạn cách sử dụng Word, Access hoặc Excel để đọc văn bản, tài liệu HTML qua website, sau đó hiển thị thông tin qua cửa sổ trình duyệt mới. Hãy cùng QuanTriExcel.info tìm hiểu nhé.
kết quả

Kích hoạt Microsoft Internet Controls:

Việc trước tiên cần làm tại đây là kích hoạt tùy chọn Microsoft Internet Controls của hệ thống. Trong Excel, các bạn chọn menu Developer > Design Mode và nhấn nút View Code. Tuy nhiên, đối với nhiều phiên bản Excel thì cách bố trí menu đó cũng khác nhau:
mở Developer > Design Mode
Trong cửa sổ VBA Editor, nhấn Tools > References:
chọn Tools > References
Tại màn hình References, kéo chuột xuống phía dưới và chọn Microsoft Internet Controls. Đánh dấu check vào ô và nhấn OK:
chọn Microsoft Internet Controls
Và với mã VBA, chúng ta có thể tạo được các đối tượng để lấy thông tin về Internet, tự tạo văn bản HTML để người dùng xem bằng bất kỳ trình duyệt nào.

Input và Output HTML:

Yêu cần cần hoàn tất tại bước này là hiển thị các thông tin sau khi xử lý dưới dạng văn bản HTML. Và tại đây, chúng ta sẽ tìm hiểu cách thức làm thế nào để trích xuất dữ liệu từ file Excel ra định dạng HTML hoàn chỉnh:
khởi tạo nút chức năng
Dưới menu Developer, các bạn nhấn Design Mode và chọn nút Insert, sau đó đặt vào vị trí bất kỳ nào đó trên văn bản. Hãy đảm bảo rằng trên file Excel đó đã có sẵn dữ liệu, nhấn vào nút đó và chọn View Code. Nhập đoạn mã dưới đây vào: 
 Sub Button1_Click()
  Dim objIE As Object
  Dim HTML As String
  '----------The HTML CODE GOES FROM HERE AND DOWN----------
  HTML = "<HTML><TITLE>HTML Report Page</TITLE>" & _
  "<BODY><FONT COLOR = BLUE><FONT SIZE = 5>" & _
  "<B>The Following Are Results From Your Daily Calculation</B>" & _
  "</FONT SIZE><P>" & _
  "Daily Production: " & Sheet1.Cells(1, 1) & "<p>" & _
  "Daily Scrap: " & Sheet1.Cells(1, 2) & "<p></BODY></HTML>"
  '----------The HTML CODE GOES HERE AND ABOVE---------
  On Error GoTo error_handler
  Set objIE = CreateObject("InternetExplorer.Application")
  With objIE
  .Navigate "about:blank"
  Do While .Busy: DoEvents: Loop
  Do While .ReadyState <> 4: DoEvents: Loop
  .Visible = True
  .Document.Write HTML
  End With
  Set objIE = Nothing
  Exit Sub
 error_handler:
  MsgBox ("Unexpected Error, I'm quitting.")
  objIE.Quit
  Set objIE = Nothing
 End Sub
Đoạn mã trên sẽ có chức năng hiển thị văn bản HTML mà chúng ta khởi tạo trong phần String. Và như vậy, các bạn có thể nhúng bất kỳ dữ liệu nào từ bản tính Excel vào chuỗi dữ liệu HTML. Dưới đây là kết quả của trang báo cáo:
kết quả hiển thị
Khi phần kết quả được hiển thị qua dạng HTML đã hoạt động, bước tiếp theo cần hoàn tất là tạo cơ chế hoạt động cho đoạn mã VBA sao cho giống với 1 trình duyệt để đọc mã HTML từ nhiều website khác, xác định dữ liệu và hiển thị trở lại thành trang HTML cho người dùng:
 Sub Button1_Click()
  Dim objIE As Object
  Dim HTML As String
  On Error GoTo error_handler
  Set objIE = CreateObject("InternetExplorer.Application")
  With objIE
  .Navigate "http://www.google.com"
  Do While .Busy: DoEvents: Loop
  Do While .ReadyState <> 4: DoEvents: Loop
  .Visible = True
  HTML = objIE.Document.Body.innerHTML
  .Document.Write "<html><title>My Own Google Results!</title><body><h1>This is an Edited Version of the Google Page!</h1>" & HTML & "</body></html>"
  End With
  Set objIE = Nothing
 Exit Sub
 error_handler:
  MsgBox ("Unexpected Error, I'm quitting.")
  objIE.Quit
  Set objIE = Nothing
 End Sub
Những gì chúng ta đã thực hiện ở đây là sử dụng Internet Explorer để đọc mã HTML từ Google dưới dạng text qua hàm tương ứng trong VBA. Nếu thay HTML output ở phần khai báo biến trên đầu bằng hàm chuyển đổi HTML to VBA HTML thì kết quả sẽ trông giống như sau:
kết quả
Trên đây là ví dụ cơ bản về những gì VBA có thể làm được khi xử lý dữ liệu HTML, nếu thay thế với một vài chức năng tương ứng khác, chúng ta có thể thực hiện được hàm tìm kiếm thông tin trong một dòng nhất định nào đó, địa chỉ email, số điện thoại, mở đường dẫn bằng tab mới… Chúc các bạn thành công!
Tham khảo thêm


?DienDan.Edu.Vn cám ơn bạn đã quan tâm và rất vui vì bài viết đã đem lại thông tin hữu ích cho bạn. https://diendan.edu.vn/
?Các bạn tham khảo hướng dẫn tải file trên Quản Trị Excel tại đây: http://www.quantriexcel.info/2018/11/huong-dan-tai-file-tren-quan-tri-excel.html

Rate this post

DienDan.Edu.Vn

DienDan.Edu.Vn Cám ơn bạn đã quan tâm và rất vui vì bài viết đã đem lại thông tin hữu ích cho bạn.
DienDan.Edu.Vn! là một website với tiêu chí chia sẻ thông tin,... Bạn có thể nhận xét, bổ sung hay yêu cầu hướng dẫn liên quan đến bài viết. Vậy nên đề nghị các bạn cũng không quảng cáo trong comment này ngoại trừ trong chính phần tên của bạn.
Cám ơn.

Đăng bình luận

(+84) (901) 369.468