Bạn giúp mình với, tại file dữ liệu của mình chứa rất nhiều thông tin và cần phải xuất ra nhiều file word khác nhau, hiện tại bây giờ mình vẫn phải làm theo kiểu thủ công, xuất ra file word rồi quay trở lại file excel để copy thông tin từ cột quá trình công tác sang file word (những ô nào ký tự ít thì vẫn lấy thông tin được, còn lại nhiều ký tự quá thì ko lấy được thông tin để điền vào file mẫu)
Trong thời gian học mailing thì ...
1. Để "đâu ra đấy" thì trong VBE: menu Insert -> Module -> chuyển toàn bộ code Sub Xuat_ra_nhieu_file từ module TRICH_DU_LIEU sang module vừa thêm.
2. Dán code ở dưới vào module vừa thêm.
3. Trong VBE menu Tools -> References -> tìm và đánh dấu chọn "Microsoft Forms 2.0 Object Library -> nhấn OK
4. Hãy tập thói quen khai báo tất cả các biến. Trong Sub Xuat_ra_nhieu_file khai báo thêm
Sửa lại tên biến fintext thành findtext - đã tiếng Anh thì sao cho đúng.
6. Hiện tại code không xét cột O, P, Q nên trong trong Word [bennoi], [benngoai], [vocon] không được thay thế. Muốn cả O, P, Q thì trong Sub Xuat_ra_nhieu_file
thay
Private Sub FindAndReplace(wordApp As Object, ByVal strFind As String, ByVal strReplace As String)
Const wdReplaceAll = 2
Const wdFindContinue = 1
Dim dataObj As New MSForms.DataObject
dataObj.SetText strReplace
dataObj.PutInClipboard
wordApp.Selection.End = 0
With wordApp.Selection.Find
.ClearFormatting
.MatchCase = True
.MatchWholeWord = True
.Text = strFind
.Replacement.ClearFormatting
.Replacement.Text = "^c"
.Execute Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue
End With
End Sub