Bỏ qua nội dung chính

Làm cách nào để chia tài liệu Word thành các tệp riêng biệt sau mỗi 5 hoặc n trang?

Nếu bạn có một tài liệu Word lớn chứa hàng trăm trang và bây giờ, bạn muốn chia tài liệu này thành các tệp riêng biệt sau mỗi 10 hoặc n trang. Có cách nào nhanh chóng và dễ dàng để giải quyết công việc này mà không cần sao chép và dán từng trang một không?

Chia tài liệu Word thành các tệp riêng biệt sau mỗi 10 hoặc n trang bằng mã VBA

Chia tài liệu Word thành các tệp riêng biệt sau mỗi 10 hoặc n trang với một tính năng tuyệt vời


Chia tài liệu Word thành các tệp riêng biệt sau mỗi 10 hoặc n trang bằng mã VBA

Để chia một tài liệu lớn thành các tệp riêng biệt dựa trên mỗi 10 hoặc n trang, mã VBA sau có thể giúp bạn, vui lòng thực hiện như sau:

1. Giữ ALT + F11 phím để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. Và sau đó, nhấp vào Chèn > Mô-đun, sao chép và dán mã bên dưới vào mô-đun trống đã mở:

Mã VBA: Chia tài liệu thành các tệp riêng biệt sau mỗi 10 hoặc n trang:

Sub DocumentSplitter()
    Dim xDoc As Document, xNewDoc As Document
    Dim xSplit As String, xCount As Long, xLast As Long
    Dim xRngSplit As Range, xDocName As String, xFileExt As String
    Dim xRegEx As RegExp
    Dim xPageCount As Integer
    Dim xShell As Object, xFolder As Object, xFolderItem As Object
    Dim xFilePath As String
    On Error Resume Next
    Set xDoc = Application.ActiveDocument
    Set xShell = CreateObject("Shell.Application")
    Set xFolder = xShell.BrowseforFolder(0, "Select a Folder:", 0, 0)
    If TypeName(xFolder) = "Nothing" Then Exit Sub
    Set xFolderItem = xFolder.Self
    xFilePath = xFolderItem.Path & "\"
    Application.ScreenUpdating = False
    Set xNewDoc = Documents.Add(Visible:=False)
    xDoc.Content.WholeStory
    xDoc.Content.Copy
    xNewDoc.Content.PasteAndFormat wdFormatOriginalFormatting
    With xNewDoc
        xPageCount = .ActiveWindow.Panes(1).Pages.Count
L1:     xSplit = InputBox("The document contains " & xPageCount & " pages." & _
                 vbCrLf & vbCrLf & " Please enter the page count you want to split:", "Kutools for Word", xSplit)
        If Len(Trim(xSplit)) = 0 Then Exit Sub
        Set xRegEx = New RegExp
        With xRegEx
            .MultiLine = False
            .Global = True
            .IgnoreCase = True
            .Pattern = "[^0-9]"
        End With
        If xRegEx.Test(xSplit) = True Then
            MsgBox "Please enter the page number:", vbInformation, "Kutools for Word"
            Exit Sub
        End If
        If VBA.Int(xSplit) >= xPageCount Then
            MsgBox "The number is greater than the document number." & vbCrLf & "Please re-enter", vbInformation, "Kutools for Word"
            GoTo L1
        End If
        xDocName = xDoc. Name
        xFileExt = VBA.Right(xDocName, Len(xDocName) - InStrRev(xDocName, ".") + 1)
        xDocName = Left(xDocName, InStrRev(xDocName, ".") - 1) & "_"
        xFilePath = xFilePath & xDocName
        For xCount = 0 To Int(xPageCount / xSplit)
            xPageCount = .ActiveWindow.Panes(1).Pages.Count
            If xPageCount > xSplit Then
                xLast = xSplit
            Else
                xLast = xPageCount
            End If
            Set xRngSplit = .GoTo(What:=wdGoToPage, Name:=xLast)
            Set xRngSplit = xRngSplit.GoTo(What:=wdGoToBookmark, Name:="\page")
            xRngSplit.Start = .Range.Start
            xRngSplit.Cut
            Documents.Add
            Selection.Paste
            ActiveDocument.SaveAs FileName:=xFilePath & xCount + 1 & xFileExt, AddToRecentFiles:=False
            ActiveWindow.Close
        Next xCount
        Set xRngSplit = Nothing
        xNewDoc.Close wdDoNotSaveChanges
        Set xNewDoc = Nothing
    End With
    Application.ScreenUpdating = True
End Sub

3. Sau khi dán mã trên, vẫn trong Microsoft Visual Basic cho các ứng dụng cửa sổ, vui lòng nhấp vào CÔNG CỤ > dự ánvà trong cửa sổ bật ra Tài liệu tham khảo-Dự án hộp thoại, kiểm tra Microsoft VBScript Biểu thức chính quy 5.5 tùy chọn trong Tài liệu tham khảo có sẵn hộp danh sách, xem ảnh chụp màn hình:

4. Sau đó nhấn vào OK và sau đó nhấn F5 phím để chạy mã này và Chọn thư mục hộp thoại được hiển thị, vui lòng chọn một thư mục mà bạn muốn đặt các tệp phân tách vào, xem ảnh chụp màn hình:

5. Sau đó nhấn vào OK và một hộp nhắc khác hiện ra để nhắc bạn nhập số trang mà bạn muốn tách dựa vào đó, hãy xem ảnh chụp màn hình:

6. Và sau đó nhấp vào OK , tài liệu Word đang hoạt động đã được chia thành các tệp riêng biệt sau mỗi 10 trang, bạn có thể vào thư mục được chỉ định để xem kết quả:


Chia tài liệu Word thành các tệp riêng biệt sau mỗi 10 hoặc n trang với một tính năng tuyệt vời

Kutools cho Word bao gồm một tính năng mạnh mẽ- chẻ , với tiện ích này, bạn có thể nhanh chóng chia một tài liệu Word lớn thành nhiều tệp riêng biệt dựa trên Heading1, ngắt trang, ngắt phần và trang.

Lời khuyên:Để áp dụng điều này chẻ , trước tiên, bạn nên tải xuống Kutools cho Word, và sau đó áp dụng tính năng một cách nhanh chóng và dễ dàng.

Sau khi cài đặt Kutools cho Word, hãy làm như sau:

1. Nhấp chuột Kutools Plus > chẻ, xem ảnh chụp màn hình:

2. Trong hộp thoại hiện ra, vui lòng đặt các thao tác sau khi bạn cần, xem ảnh chụp màn hình:

3. Sau khi hoàn tất cài đặt, vui lòng nhấp vào OKvà toàn bộ tài liệu sẽ được chia thành nhiều tệp dựa trên mỗi trang, xem ảnh chụp màn hình:

Nhấp để tải xuống Kutools cho Word và dùng thử miễn phí ngay bây giờ!

Công cụ năng suất văn phòng tốt nhất

Kutools cho Word - Nâng cao trải nghiệm sử dụng từ của bạn với Over 100 Các tính năng đáng chú ý!

🤖 Trợ lý AI của Kutools: Biến đổi bài viết của bạn bằng AI - Tạo nội dung  /  Viết lại văn bản  /  Tóm tắt tài liệu  /  Hỏi thông tin dựa trên tài liệu, tất cả đều có trong Word

📘 Làm chủ tài liệu: Chia trang  /  Hợp nhất tài liệu  /  Lựa chọn xuất khẩu ở nhiều định dạng khác nhau (PDF/TXT/DOC/HTML...)  /  Chuyển đổi hàng loạt sang PDF  /  Xuất trang dưới dạng hình ảnh  /  In nhiều tập tin cùng một lúchữu ích. Cảm ơn !

Chỉnh sửa nội dung: Tìm và thay thế hàng loạt trên nhiều tệp  /  Thay đổi kích thước tất cả hình ảnh  /  Hoán đổi hàng và cột của bảng  /  Chuyển bảng thành văn bảnhữu ích. Cảm ơn !

🧹 Dễ dàng làm sạch: Quét đi Không gian bổ sung  /  Phần ngắt  /  Tất cả các tiêu đề  /  Hộp văn bản  /  Các siêu liên kết  / Để biết thêm các công cụ xóa, hãy truy cập Xóa nhómhữu ích. Cảm ơn !

Phụ trang quảng cáo: Chèn Ngàn dấu phân cách  /  Hộp kiểm tra  /  Nút radio  /  Mã QR  /  Mã vạch  /  Bảng đường chéo  /  Chú thích phương trình  /  Hình ảnh Caption  /  Bảng chú thích  /  Nhiều Hình Ảnh  / Khám phá thêm trong Chèn nhómhữu ích. Cảm ơn !

???? Lựa chọn chính xác: Xác định trang cụ thể  /  bảng  /  hình dạng  /  đoạn văn tiêu đề  / Tăng cường điều hướng với chi tiết Chọn tính nănghữu ích. Cảm ơn !

Cải tiến sao: Điều hướng nhanh chóng đến bất kỳ vị trí nào  /  tự động chèn văn bản lặp đi lặp lại  /  chuyển đổi liền mạch giữa các cửa sổ tài liệu  /  11 công cụ chuyển đổihữu ích. Cảm ơn !

👉 Bạn muốn thử những tính năng này? Kutools cho Word cung cấp một 60 ngày dùng thử miễn phí, không có giới hạn! 🚀
 
Comments (8)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
good things. i used it to split with 1 page 1 word document, it was successful except that each document (after split), it has 2 pages in total although 2nd page is always blank. 
This comment was minimized by the moderator on the site
this code gives compile error which shows user define type is not define
This comment was minimized by the moderator on the site
For me, the VBA creates a single document that is a copy of the original and that's it.
This comment was minimized by the moderator on the site
The VBscript code made Word crash. I was trying to split a 32Mb Word file with many pages but it seems Word can't handle it through VBscript.
Thanks anyway
This comment was minimized by the moderator on the site
Hello, Studia,
The VBA code may crash when there is a large document, it is not stable, so I recommend you use our Kutools for Word tool, it has updated, and support to solve this task, you can download it and free trial 30 day.
Please try, thank you!
This comment was minimized by the moderator on the site
VBA Script: Split a document into separate files every 10 or n pages not worked
This comment was minimized by the moderator on the site
Hello, Sergey,
The above code works well in my Word document, which Word version do you use?
And which step went wrong in your operation?
This comment was minimized by the moderator on the site
i have been trying to split a word file of 166 pages and it gives 166 files each with 166 pages?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations