Em có 1 file excel chứa mã vba: Book1.xlsm ; 1 file word không chứa mã vba
Em muốn dùng mã trong excel mở file word và đặt tab stop position (cái đánh đấu căn tab trên thanh rule của word: Menu Home --> paragraph --> tabs... --> tab stop position)
trong file Excel -->em có 1 sub như sau:
Lần 1: chạy đoạn code trên thấy báo lỗi bôi ở CentimetersToPoints em có tham khảo Help nhưng không hiểu rõ vấn đề
Lần 2: em vào VBA --> Tools --> referensce... --> tích chọn Microsoft Word 14.0 Object Library (em dùng office 2010) --> OK --> chạy lại đoạn code vừa rồi --> chạy được.
Nhưng vấn đề ở chỗ là nếu em khóa mật khẩu VBA và mang file excel này sang máy khác dùng office 2013 hay 2016 chạy thì lỗi. em hiểu là máy khác do không có cái Microsoft Word 14.0 Object Library.
Rất mong các bác, các chú, cô, anh, chị, em giúp đỡ em sửa code này chạy được mà không cần phải vào VBA --> Tools --> referensce... --> tích chọn Microsoft Word 14.0 Object Library. Hoặc bằng 1 cách nào đó mà cách thức trên có thể chạy trên nhiều phiên bản office. Em đã đính kèm 2 file mẫu ở bài này.
Em xin chân thành cảm ơn!
Em muốn dùng mã trong excel mở file word và đặt tab stop position (cái đánh đấu căn tab trên thanh rule của word: Menu Home --> paragraph --> tabs... --> tab stop position)
trong file Excel -->em có 1 sub như sau:
Mã:
Public Sub Dat_tab()
Const MyTab = 1.27
Dim oWord As Object, oFileNew As Object
Set oWord = CreateObject("Word.Application")
oWord.Visible = True
Set oFileNew = oWord.Documents.Open(ThisWorkbook.Path & "\a.docx")
oFileNew.Tables(1).Rows(1).Select
oWord.Selection.ParagraphFormat.TabStops.Add Position:=CentimetersToPoints(MyTab), Alignment:=wdAlignTabLeft, Leader:=wdTabLeaderSpaces
oWord.Selection.ParagraphFormat.TabStops.Add Position:=CentimetersToPoints((18 + 3 * MyTab) / 4), Alignment:=wdAlignTabLeft, Leader:=wdTabLeaderSpaces
oWord.Selection.ParagraphFormat.TabStops.Add Position:=CentimetersToPoints((18 + MyTab) / 2), Alignment:=wdAlignTabLeft, Leader:=wdTabLeaderSpaces
oWord.Selection.ParagraphFormat.TabStops.Add Position:=CentimetersToPoints((54 + MyTab) / 4), Alignment:=wdAlignTabLeft, Leader:=wdTabLeaderSpaces
oFileNew.Save
oFileNew.Close
oWord.Quit
Set oFileNew = Nothing
Set oWord = Nothing
End Sub
Lần 1: chạy đoạn code trên thấy báo lỗi bôi ở CentimetersToPoints em có tham khảo Help nhưng không hiểu rõ vấn đề
Lần 2: em vào VBA --> Tools --> referensce... --> tích chọn Microsoft Word 14.0 Object Library (em dùng office 2010) --> OK --> chạy lại đoạn code vừa rồi --> chạy được.
Nhưng vấn đề ở chỗ là nếu em khóa mật khẩu VBA và mang file excel này sang máy khác dùng office 2013 hay 2016 chạy thì lỗi. em hiểu là máy khác do không có cái Microsoft Word 14.0 Object Library.
Rất mong các bác, các chú, cô, anh, chị, em giúp đỡ em sửa code này chạy được mà không cần phải vào VBA --> Tools --> referensce... --> tích chọn Microsoft Word 14.0 Object Library. Hoặc bằng 1 cách nào đó mà cách thức trên có thể chạy trên nhiều phiên bản office. Em đã đính kèm 2 file mẫu ở bài này.
Em xin chân thành cảm ơn!
File đính kèm
Lần chỉnh sửa cuối: