Nếu bạn có một tài liệu word lớn cần chia thành nhiều file nhỏ, thì hãy đọc bài viết này. Bài nãy sẽ hướng dẫn cho bạn hai phương pháp để tách file Word thành nhiều file nhỏ.
Tách file Word bằng dấu phân cách với VBA
Thay vì chia file thành nhiều nhỏ hơn theo cách thủ công, phương pháp này sẽ dùng VBA để chia tài liệu Word theo dấu phân cách được chỉ định trong Word.
1. Nhấn tổ hợp phím Alt + F11 để mở cửa sổ Microsoft Visual Basic for Application;
2. Nhấp vào Insert > Module, rồi dán code VBA bên dưới vào cửa sổ Module window.
Sub SplitNotes(delim As String, strFilename As String) Dim doc As Document Dim arrNotes Dim I As Long Dim X As Long Dim Response As Integer arrNotes = Split(ActiveDocument.Range, delim) Response = MsgBox("This will split the document into " & UBound(arrNotes) + 1 & " sections.Do you wish to proceed?", 4) If Response = 7 Then Exit Sub For I = LBound(arrNotes) To UBound(arrNotes) If Trim(arrNotes(I)) <> "" Then X = X + 1 Set doc = Documents.Add doc.Range = arrNotes(I) doc.SaveAs ThisDocument.Path & "\" & strFilename & Format(X, "000") doc.Close True End If Next I End Sub Sub test() 'delimiter & filename SplitNotes "///", "Notes " End Sub
3. Sau đó nhấp vào nút Run hoặc nhấn phím F5 để áp dụng VBA.
4. Nhấn Yes để tiếp tục.
Lưu ý:
(1) Đảm bảo thêm dấu phân tách giống như “///” vào tài liệu giữa mỗi phần văn bản mà bạn muốn phân tách. Ngoài ra, bạn có thể thay đổi “///” thành bất kỳ dấu phân cách nào để đáp ứng nhu cầu của bạn.
(2) Bạn có thể thay đổi các tài liệu “Notes” trong sub Test để phù hợp với nhu cầu của bạn.
(3) Và các tài liệu đã tách sẽ được lưu vào cùng một nơi với tệp gốc.
(4) Bạn không cần thêm dấu phân cách vào cuối tệp gốc, nếu bạn làm vậy, nó sẽ tạo thêm một tài liệu trống sau khi tách.
Tách tài liệu Word theo trang với VBA
Đây là một đoạn code VBA khác giúp bạn nhanh chóng chia tài liệu Word thành nhiều trang trong Word.
1. Nhấn tổ hợp phím Alt + F11 để mở cửa sổ Microsoft Visual Basic for Application;
2. Nhấp vào Insert > Module, rồi dán code VBA bên dưới vào cửa sổ Module.
Sub SplitIntoPages() Dim docMultiple As Document Dim docSingle As Document Dim rngPage As Range Dim iCurrentPage As Integer Dim iPageCount As Integer Dim strNewFileName As String Application.ScreenUpdating = False 'Makes the code run faster and reduces screen _ flicker a bit. Set docMultiple = ActiveDocument 'Work on the active document _ (the one currently containing the Selection) Set rngPage = docMultiple.Range 'instantiate the range object iCurrentPage = 1 'get the document's page count iPageCount = docMultiple.Content.ComputeStatistics(wdStatisticPages) Do Until iCurrentPage > iPageCount If iCurrentPage = iPageCount Then rngPage.End = ActiveDocument.Range.End 'last page (there won't be a next page) Else 'Find the beginning of the next page 'Must use the Selection object. The Range.Goto method will not work on a page Selection.GoTo wdGoToPage, wdGoToAbsolute, iCurrentPage + 1 'Set the end of the range to the point between the pages rngPage.End = Selection.Start End If rngPage.Copy 'copy the page into the Windows clipboard Set docSingle = Documents.Add 'create a new document docSingle.Range.Paste 'paste the clipboard contents to the new document 'remove any manual page break to prevent a second blank docSingle.Range.Find.Execute Findtext:="^m", ReplaceWith:="" 'build a new sequentially-numbered file name based on the original multi-paged file name and path strNewFileName = Replace(docMultiple.FullName, ".doc", "_" & Right$("000" & iCurrentPage, 4) & ".doc") docSingle.SaveAs strNewFileName 'save the new single-paged document iCurrentPage = iCurrentPage + 1 'move to the next page docSingle.Close 'close the new document rngPage.Collapse wdCollapseEnd 'go to the next page Loop 'go to the top of the do loop Application.ScreenUpdating = True 'restore the screen updating 'Destroy the objects. Set docMultiple = Nothing Set docSingle = Nothing Set rngPage = Nothing End Sub
3. Sau đó nhấp vào nút Run hoặc nhấn phím F5 để áp dụng VBA.
Lưu ý: Các tài liệu tách sẽ được lưu vào cùng một nơi với tệp gốc.
Tách tài liệu Word theo tiêu đề/Trang/Ngắt mục/Ngắt trang bằng cách sử dụng Kutools cho Word
Nếu bạn đã cài đặt Kutools cho Word, bạn có thể áp dụng chức năng Split của nó để dễ dàng chia một tài liệu thành nhiều tài liệu theo trang, tiêu đề, ngắt phần hoặc ngắt trang khi bạn cần trong Word.
Kutools là một phần bổ trợ tiện dụng để giúp bạn dễ dàng hơn trong công việc và nâng cao khả năng xử lý tài liệu văn bản.
1. Nhấp chuột Kutools Plus > Split để bật tính năng Split.
2. Trong hộp thoại Split đang mở trên màn hình, bạn có thể thực hiện như sau:
(1) Chọn cách tách từ danh sách Split by.
Tính năng này hỗ trợ 6 cách tách: tiêu đề 1, ngắt trang, ngắt phần, trang, mỗi n trang và phạm vi trang tùy chỉnh như hình dưới:
(2) Nhấp vào nút Browse để chỉ định thư mục đích mà bạn sẽ lưu các tài liệu được tách.
(3) Nhập từ khóa làm tiền tố của tên tài liệu mới trong hộp Document Prefix.
Lời khuyên:
(1) Nếu bạn chỉ định chia tài liệu hiện tại theo Mỗi n trang (Every n pages), bạn cần chỉ định số trong hộp Every n pages.
(2) Nếu bạn chỉ định chia tài liệu hiện tại theo phạm vi trang tùy chỉnh, bạn cần nhập các phạm vi trang tùy chỉnh này được phân tách bằng dấu phẩy trong hộp Page, ví dụ: nhập 1, 3-5, 12 vào hộp.
3. Nhấp vào nút Ok để bắt đầu tách.
Sau đó, tài liệu hiện tại sẽ được chia theo cách tách được chỉ định và các tài liệu mới sẽ được lưu hàng loạt vào thư mục đích.
Ngoài ra, bạn cũng có thể tự động lưu file Word vào OneDrive tại đây.