1 Dim Dc As Object, Hd As Object
2 On Error Resume Next
3 Set Dc = CreateObject("Word.Application")
4 Dc.Documents("\Hopdonglaodong-01.doc").Close
5 Dc.Visible = True
6 Set Hd = Dc.Documents.Open(ThisWorkbook.Path & "\Hopdonglaodong-01.doc")
7 Hd.Shapes("Tb1").TextFrame.TextRange.Text = Me.ListBox1.Column(0)
(8-1) For i = 0 To 4
9 Hd.Shapes("Tb" & i + 2).TextFrame.TextRange.Text = Sheet2.[B1].Offset(i)
(8-2) Next
(10-1) For i = 1 To 7
11 Hd.Shapes("Tb" & i + 6).TextFrame.TextRange.Text = Me.ListBox1.Column(i)
(10-2) Next
12 Set Dc = Nothing
(0-2)End Sub
Giải thích
(0-1) Tạo sự kiện khi click vào nút lệnh In DC và (0-2) kết thúc
1 Khai báo biến để nhận biết khi thực hiện câu lênh
2 Gặp lỗi bỏ qua
3 Khỏi động chương trình Word từ bộ Office
4 Đóng file Hopdonglaodong-01.doc
5 Thực hiện chế độ ẩn file ( True - Hiện); (False - Ẩn)
6 Mở file Hopdonglaodong-01.doc cùng chỗ với file excel đã lưu
7 Gán giá trị vào Shape đã được vẽ trong file word. Tức là Shapes có tên Tb1 lấy giá trị từ Column 0 (không) của Listbox1 trong file excel
(8-1) Khởi động vòng lặp và (8-2) kết thúc vòng lặp
9 Duyệt vào từ thằng shapes được vẽ trong file word nếu thằng nào có tên tương ứng thì sẽ gán giá trị ở sheet 2 vào (Cái này dài dòng lắm giải thích hơi khó bạn chịu khó tìm hiểu)
(10-2) Khởi động vòng lặp và (10-2) kết thúc vòng lặp
11 Giống 9 như lấy giá trị từ Listbox1 tương ứng với Column của nó. (Không hiểu tại sao lấy ở listbox1 tai listbox1 lấy dữ liệu từ sheet2)
12 Giải phóng bộ nhớ của máy tức là cho Dc = Nothing (không có gì)