Note: The other languages of the website are Google-translated. Back to English
Đăng nhập  \/ 
x
or
x
Đăng ký  \/ 
x

or

Làm thế nào để chia tài liệu thành nhiều tài liệu trong word?

Nếu bạn có một tài liệu word khổng lồ mà bạn cần chia thành nhiều tài liệu, hãy dành vài phút để đọc hướng dẫn này. Hướng dẫn này sẽ chỉ cho bạn hai phương pháp để chia một tài liệu thành nhiều tài liệu.


Tách tài liệu Word bằng dấu phân cách được chỉ định với VBA

Thay vì chia tài liệu thành nhiều tài liệu theo cách thủ công, phương pháp này sẽ giới thiệu một VBA để chia tài liệu Word theo dấu phân cách được chỉ định trong Word. Vui lòng làm như sau:

1. nhấn Alt + F11 các phím với nhau để mở cửa sổ Microsoft Visual Basic for Application;

2. Nhấp chuột Chèn > Mô-đun, và sau đó dán mã VBA bên dưới vào cửa sổ Mô-đun mở mới.

VBA: Chia tài liệu Word thành nhiều tài liệu bằng dấu phân cách

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ấn vào chạy hoặc nhấn phím F5 để áp dụng VBA.

4. Trong tài liệu Microsoft Word hiện ra, vui lòng nhấp vào nút Có để tiếp tục.

Lưu ý:
(1) Đảm bảo thêm dấu phân cách của bạn giống như "///" trong bài kiểm tra phụ đối với tài liệu giữa mỗi phần văn bản mà bạn muốn tách biệt. Ngoài ra, bạn có thể thay đổi "///" cho 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 "Ghi chú" trong bài kiểm tra phụ để 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, sẽ có một tài liệu trống sau khi tách.

Chia tài liệu Word theo từng trang bằng VBA

Đây là một VBA khác để giúp bạn nhanh chóng chia một tài liệu Word thành nhiều trang trong Word. Vui lòng làm như sau:

1. nhấn Alt + F11 các phím với nhau để mở cửa sổ Microsoft Visual Basic for Application;

2. Nhấp chuột Chèn > Mô-đun, và sau đó dán mã VBA bên dưới vào cửa sổ Mô-đun mở mới.

VBA: Chia tài liệu thành nhiều tài liệu theo trang trong Word

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ấn vào chạy nút hoặc bấ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 phần / 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ó chức năng 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 cho Word 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. Dùng thử miễn phí trong 60 ngày! Lấy nó ngay!

1.Nhấp chuột Kutools Plus > chẻ để cho phép chẻ tính năng này.

2. Trong hộp thoại Tách mở trên màn hình, bạn có thể làm như sau:

(1) Chọn cách tách từ Chia theo danh sách thả xuống.
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 minh họa bên dưới:

(2) Nhấp vào Xem nút  để cụ thể hóa thư mục đích mà bạn sẽ lưu các tài liệu được chia thành;

(3) Nhập từ khóa làm tiền tố của tên tài liệu mới trong Tiền tố tài liệu cái hộp.

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, bạn cần chỉ định số trong Mỗi n trang cái hộp;

(2) Nếu bạn chỉ định tách 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 Trang , ví dụ: nhập 1, 3-5, 12 vào hộp.

3. Nhấn vào Ok nút để bắt đầu tách.

Sau đó, tài liệu hiện tại đượ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.

Duyệt theo tab & chỉnh sửa nhiều tài liệu Word như Firefox, Chrome, Internet Explore 10!

Có thể bạn đã quen với việc xem nhiều trang web trong Firefox / Chrome / IE và chuyển đổi giữa chúng bằng cách nhấp vào các tab tương ứng một cách dễ dàng. Ở đây, Tab Office hỗ trợ xử lý tương tự, cho phép bạn duyệt nhiều tài liệu Word trong một cửa sổ Word và dễ dàng chuyển đổi giữa chúng bằng cách nhấp vào tab của chúng. Nhấp để dùng thử miễn phí đầy đủ các tính năng!
Duyệt nhiều tài liệu từ trong một cửa sổ dưới dạng Firefox


Các bài báo tương đối:



Công cụ năng suất Word được đề xuất

 

Kutools cho Word - Hơn 100 tính năng nâng cao cho Word, tiết kiệm 50% thời gian của bạn

  • Các hoạt động phức tạp và lặp đi lặp lại có thể được thực hiện xử lý một lần trong vài giây.
  • Chèn nhiều hình ảnh trên các thư mục vào tài liệu Word cùng một lúc.
  • Hợp nhất và kết hợp nhiều tệp Word trên các thư mục thành một với thứ tự mong muốn của bạn.
  • Chia tài liệu hiện tại thành các tài liệu riêng biệt theo tiêu đề, ngắt phần hoặc các tiêu chí khác.
  • Chuyển đổi tệp giữa Doc và Docx, Docx và PDF, bộ sưu tập các công cụ để chuyển đổi và lựa chọn phổ biến, v.v.
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    sudesh srivastava · 6 months ago
    VBA: Split Document into Multiple Documents by Page in Word - in this when we run it, outcome comes  in portrait layout only. If original doc is in landscape then full data of the original doc does not come in the pages breaked by this vba.. There must be seperate vba for portrait and landscape docs.
  • To post as a guest, your comment is unpublished.
    Greitens · 1 years ago
    I use the "split"-function of "Kutools For Word 9.00" with "header 1" and it works for 48 documents and then it simply stops without any message, as if it wohl have been finished. But I have 700 "header 1" in a 2000 pages document!

    Is it simply too much for the tool or is there any other reason?
  • To post as a guest, your comment is unpublished.
    dev · 1 years ago
    your code add new blank page in every page
  • To post as a guest, your comment is unpublished.
    Jared Wicklund · 1 years ago
    This worked fine up until yesterday with Office365, but now I constantly get a runtime error '4605' stating this command is not available. Sometimes at the first page, sometimes at the 3rd page...I can't make it past 3 pages anymore. It happens with line 28 above...

    docSingle.Range.Paste 'paste the clipboard contents to the new document
    • To post as a guest, your comment is unpublished.
      Charlotte · 1 years ago
      I've got this error too - Did you get anywhere with it?


      Thanks
      • To post as a guest, your comment is unpublished.
        Jared · 1 years ago
        yes...i have to run it on the local hard drive. if i run it on a network file or with RemotePC it. has something to do with the script having to wait too long in between commands and it errors out copy and pasting to the clipboard. hope that helps!!
  • To post as a guest, your comment is unpublished.
    anjv0000@gmail.com · 2 years ago
    I copied the document distribution macro 'Split Word Document By Specified Delimiter With VBA', but in the line of 'sub test', the software reads it as a new macro and there are two macros here.
  • To post as a guest, your comment is unpublished.
    Jorge · 2 years ago
    The script saves a two pages document, the second is total blank.

    How to solve this?
    • To post as a guest, your comment is unpublished.
      kellytte · 2 years ago
      Hi Jorge,
      The VBA script introduced splits document by the separator “///”, and you do not need to add delimiter to the end of the original file, if you do, there will be a blank document after splitting.
      • To post as a guest, your comment is unpublished.
        Lisa · 2 years ago
        Hi kellytte, Could you please explain a little further? I copy and paste the VBA script under the "Split Word by Document with VBA" from above and after I run the process following the instructions above, I always have to manually delete a 2nd blank page on each of the new documents that were created. Are you saying there is something that needs to be removed from the VBA script that will cause this to stop?
  • To post as a guest, your comment is unpublished.
    Maya · 2 years ago
    The split works great for me but on page in the merge file turns into 1.5 pages - something with the page layout (+ additional empty page at the end). any ideas how to go around that?
  • To post as a guest, your comment is unpublished.
    Lisa · 3 years ago
    The Split Word By Document with VBA worked for me, but it is adding a blank page at the end of each document. Is there a way around this?
    • To post as a guest, your comment is unpublished.
      Savvyno · 2 years ago
      I am working on this as well but have not found a way to do it besides manually.
    • To post as a guest, your comment is unpublished.
      Steve · 3 years ago
      Does not work at all for me. Goes through the motions but no documents are saved. Maybe because I am using .DOCX files?
      • To post as a guest, your comment is unpublished.
        Savvy · 2 years ago
        After playing with this code for over an hour I discovered you have to save the document you mail merged then you can run the code on the saved document that has all the pages you need to split up. Hope this helps.
        • To post as a guest, your comment is unpublished.
          Steve · 2 years ago
          I always start with a newly-saved document. I found the split documents were actually saved somewhere (I forget; doesn't matter) they were text only - all the formatting had been dropped.
      • To post as a guest, your comment is unpublished.
        Steve · 3 years ago
        Maybe something to do with Windows 7 settings? Thoughts from anyone?
  • To post as a guest, your comment is unpublished.
    Fenice · 3 years ago
    Mais comment garder une mise en page complexe (image de fond, marges, etc) ?
    Great but how to keep the lay-out (background image, margins ?)
  • To post as a guest, your comment is unpublished.
    Andrew · 3 years ago
    Can you split the document based on Heading 1 styles as your "delimiter".
    • To post as a guest, your comment is unpublished.
      kellytte · 2 years ago
      Hi Andrew,
      The VBA script can split the entire document by page. If you need to split by heading 1, we suggest to try Kutools for Word’s Split (Document) feature.
      • To post as a guest, your comment is unpublished.
        tsetscc@gmail.com · 1 years ago
        Downloaded fodler doesnt open at all. Waiting for a long time.
  • To post as a guest, your comment is unpublished.
    SHUBAM AWASTHI · 3 years ago
    i need to split the document using page range. for example i wanted to split 1 to 10 page in another document. how i can do it
    • To post as a guest, your comment is unpublished.
      Jennifer Echevarria · 2 years ago
      Hi - i have this same question, any way to do this?
  • To post as a guest, your comment is unpublished.
    raid3n06 · 3 years ago
    like individual merge add ons
    • To post as a guest, your comment is unpublished.
      kelly001 · 3 years ago
      The Split (Document) feature of Kutools for Word can help users to split a Word document by heading 1, page break, section break, or page.
      In addition, Kutools for Word also includes Merge feature to merge multiple Word documents into one.
  • To post as a guest, your comment is unpublished.
    Jason · 3 years ago
    I used the code from the "Split Word Document By Page With VBA" section. How should I amend the code in order to maintain the original header in all of the new files?
  • To post as a guest, your comment is unpublished.
    Erica · 3 years ago
    I used the code from the "Split Word Document By Page With VBA" section. It worked to split the documents out but messed up the formatting - causing what should have been on 2 pages to be on 5 instead. I played around with the code and ended up finding a solution.


    I replaced this line: docSingle.Range.Paste 'paste the clipboard contents to the new document

    with this line: docSingle.Range.PasteAndFormat (wdFormatOriginalFormatting)

    Hope this helps some of you who've had formatting issues.
  • To post as a guest, your comment is unpublished.
    Michal · 4 years ago
    Thanks !

    One question do You have any idea to save all the split documents into PDF ?
  • To post as a guest, your comment is unpublished.
    Tjebbe · 4 years ago
    You just saved me a Sh*t load of time, thanks!
  • To post as a guest, your comment is unpublished.
    Prince · 4 years ago
    Thank you, this was very helpful!
  • To post as a guest, your comment is unpublished.
    Ramin · 4 years ago
    Thanks for the macro code
  • To post as a guest, your comment is unpublished.
    LK · 4 years ago
    I did the VBA Code: split document into multiple documents according to delimiter, it does split the document but unfortunately the graphics are deleted, also formatting. Is there a solution to this?
  • To post as a guest, your comment is unpublished.
    Panos HalfMan · 4 years ago
    Does anyone knows how to change the name of the files after splitting the main one

    I want to change the names according to Header of the file
  • To post as a guest, your comment is unpublished.
    Geo. Kelley · 4 years ago
    Forget it, I tried several times with the letters numbers, which did not work, then I seen it erased my comments.

    Just to note the first code did not work for me, it said it was breaking the document into three sections, but did not.
  • To post as a guest, your comment is unpublished.
    Geo. Kelley · 4 years ago
    I tried the first split document code and it did not work. It said it was breaking it into three sections, but it did not.
    • To post as a guest, your comment is unpublished.
      · 4 years ago
      The first VBA will split the current document by delimiter "///". Did you add the split delimiter "///" in you document?
  • To post as a guest, your comment is unpublished.
    Phil Smith · 5 years ago
    Your macro works [b]REALLY[/b] well, however, I require the split documents to retain their narrow margins and two coluimn layout. More by luck than judgement(!), I managed to achieve this manually and the end result was exactly as I required. I then used the macro recorder but do not have the knowledge of Word VBA to alter the recorded code to achieve this. Can you help? Thanks in advance!
  • To post as a guest, your comment is unpublished.
    David Fuller · 5 years ago
    Too hard for a pensioner to comprehend what happened to the old way I windows seven that program was so easy for us older people to follow.
  • To post as a guest, your comment is unpublished.
    JP · 5 years ago
    Unfortunately, I can't split pages with Kutools. What can I do? I get this error message:

    Informationen über das Aufrufen von JIT-Debuggen
    anstelle dieses Dialogfelds finden Sie am Ende dieser Meldung.

    ************** Ausnahmetext **************
    System.NotSupportedException: Das angegebene Pfadformat wird nicht unterstützt.
    bei System.Security.Util.StringExpressionSet.CanonicalizePath(String path, Boolean needFullPath)
    bei System.Security.Util.StringExpressionSet.CreateListFromExpressions(String[] str, Boolean needFullPath)
    bei System.Security.Permissions.FileIOPermission.AddPathList(FileIOPermissionAccess access, AccessControlActions control, String[] pathListOrig, Boolean checkForDuplicates, Boolean needFullPath, Boolean copyPathList)
    bei System.Security.Permissions.FileIOPermission..ctor(FileIOPermissionAccess access, String[] pathList, Boolean checkForDuplicates, Boolean needFullPath)
    bei System.IO.Directory.InternalCreateDirectoryHelper(String path, Boolean checkHost)
    bei System.IO.Directory.CreateDirectory(String path)
    bei Kutools.FormDocumentSplit.€()
    bei Kutools.FormDocumentSplit.›(Object “, EventArgs ”)
    bei System.Windows.Forms.Control.OnClick(EventArgs e)
    bei System.Windows.Forms.Button.OnClick(EventArgs e)
    bei System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
    bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    bei System.Windows.Forms.Control.WndProc(Message& m)
    bei System.Windows.Forms.ButtonBase.WndProc(Message& m)
    bei System.Windows.Forms.Button.WndProc(Message& m)
    bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
  • To post as a guest, your comment is unpublished.
    Diane · 5 years ago
    Very helpful thank you!

    My original document had 'read only' set. This is not transferring into the new documents. Is this possible to add?
    • To post as a guest, your comment is unpublished.
      · 4 years ago
      Kutools for Word does not work for read-only documents.
  • To post as a guest, your comment is unpublished.
    Kotieddy · 5 years ago
    Dear team,
    VBA for Splitting document into multiple single-paged document is working good, but the problem is split documents are not having the table formats.(table formats in master document are not formatted as table in split documents).
    Thanks in advance if i can get the macros, so that tabular formats in master document are not disturbed in split documents
  • To post as a guest, your comment is unpublished.
    Ilya · 6 years ago
    Hello. How I can split .doc not one page per document using these scripts? E.g. 10 or 5 pages per document
  • To post as a guest, your comment is unpublished.
    Dhamo · 7 years ago
    When i try to split document the word document by using the above VB code, Its splitting by removing all the images and inseterd objects.
    • To post as a guest, your comment is unpublished.
      Tom Saylor · 5 years ago
      I'm having a problem similar to Dhamo's. I started with a large file with many embedded content controls. When I split my Word file using the VB code, the content controls were all converted to regular text. Is there any way to split a file without losing the formatting of the original?