Trước hết, phải nói là mình chưa có nhiều kiến thức về Hta. Các bài về hta bằng tiếng nhật cũng rất ít. Hầu hết là tiếng anh. Cho nên nếu ai rành tiếng anh, thì tìm hiểu và chia sẻ thêm trong topic này nhé. Mong BTV @vothanhthu tìm hiểu và chia sẻ thêm.
1. Hta để làm gì?
Nó hoạt động tương tự VBA Excel. Trước kia, nếu cần lấy ý kiến nhân viên, thì thường thấy người ta tạo một file Excel VBA rồi gửi cho mọi người. Mọi người điền ý kiến vào đó và ấn nút. Dữ liệu sẽ được chuyển tự động tới nơi thu thập dữ liệu của mọi người.
Tuy nhiên, một lần mình thấy người ta gửi tới file hta. Và thế là mình rất bất ngờ vì nó hoạt động y hệt như VBA excel.
2. Hta là gì?
Đây là một định dạng của html. Vì vậy, bạn có thể tùy ý thiết kế giao diện cho đẹp theo ý mình, cái này thì mọi người biết rồi, html mà tùy biến giao diện thì chắc chắn mạnh hơn Userform của VBA. Tạm thời thế đã, vì mình cũng chưa tìm hiểu sâu.
3. Chương trình hta đơn giản nhé:
Mọi người chú ý dòng code 4 tới 8. Đây chính là đoạn code VBA đấy ạ. Mọi người copy code trên cho vào Note pad, và lưu lại là tuhocvba.hta nhé.
Đấy, nhìn vào mới thấy hta còn có ưu điểm là dung lượng file nhẹ hơn hẳn so với file excel.
Bây giờ click vào để mở ra xem sao nhé.
Mình mở ra và ấn vào nút Hello thì hiện ra msgbox đó.
4. Lấy dữ liệu từ file excel.
Bây giờ mình tạo một file excel để trong cùng thư mục nhé.
File excel có nội dung như sau:
Lại một lần nữa, các bạn thấy lợi điểm của file hta rồi đấy, nhẹ có 1Kb. Trong khi file excel chẳng có gì mấy cũng đã 10Kb.
Bây giờ mình sửa đoạn code VBA trong file hta đi nhé, thay bằng code sau:
HIện tại đang xảy ra lỗi, không hoạt động, chưa hiểu tại sao. //Win 7, Office 2013.
Nguồn:
1. Hta để làm gì?
Nó hoạt động tương tự VBA Excel. Trước kia, nếu cần lấy ý kiến nhân viên, thì thường thấy người ta tạo một file Excel VBA rồi gửi cho mọi người. Mọi người điền ý kiến vào đó và ấn nút. Dữ liệu sẽ được chuyển tự động tới nơi thu thập dữ liệu của mọi người.
Tuy nhiên, một lần mình thấy người ta gửi tới file hta. Và thế là mình rất bất ngờ vì nó hoạt động y hệt như VBA excel.
2. Hta là gì?
Đây là một định dạng của html. Vì vậy, bạn có thể tùy ý thiết kế giao diện cho đẹp theo ý mình, cái này thì mọi người biết rồi, html mà tùy biến giao diện thì chắc chắn mạnh hơn Userform của VBA. Tạm thời thế đã, vì mình cũng chưa tìm hiểu sâu.
3. Chương trình hta đơn giản nhé:
Mã:
<html>
<head>
<HTA:APPLICATION ID="HelloExample" BORDER="thin" BORDERSTYLE="complex" maximizeButton="yes" minimizeButton="yes" />
<script type="text/vbscript">
Sub Hello()
MsgBox "Hello"
End Sub
</script>
<title>AnalystCave: HTA Hello World!</title>
</head>
<body>
<table width="100%">
<tr>
<td>
<!--Your content here!-->
<H1>Hello World!</H1>
<input type="Button" onClick="Hello()" value="Hello" />
</td>
</tr>
</table>
</body>
</html>
Bạn cần đăng nhập để thấy đính kèm
Đấy, nhìn vào mới thấy hta còn có ưu điểm là dung lượng file nhẹ hơn hẳn so với file excel.
Bây giờ click vào để mở ra xem sao nhé.
Bạn cần đăng nhập để thấy đính kèm
Mình mở ra và ấn vào nút Hello thì hiện ra msgbox đó.
4. Lấy dữ liệu từ file excel.
Bây giờ mình tạo một file excel để trong cùng thư mục nhé.
Bạn cần đăng nhập để thấy đính kèm
File excel có nội dung như sau:
Bạn cần đăng nhập để thấy đính kèm
Lại một lần nữa, các bạn thấy lợi điểm của file hta rồi đấy, nhẹ có 1Kb. Trong khi file excel chẳng có gì mấy cũng đã 10Kb.
Bây giờ mình sửa đoạn code VBA trong file hta đi nhé, thay bằng code sau:
Mã:
<script type="text/vbscript">
Sub Hello()
Set objShell = CreateObject("WScript.Shell")
myCur = objShell.CurrentDirectory
dim excelApp, excelWb, excelVal
set excelApp = CreateObject("Excel.Application")
set excelWb = excelApp.Workbooks.Open(myCur & "\Test.xlsx")
excelVal = excelWb.Worksheets(1).Range("A1").Value
excelWb.Close
excelApp.Quit
MsgBox excelVal
End Sub
Sub ExitForm()
Close
End Sub
</script>
Nguồn:
Bạn cần đăng nhập để thấy link