Tách file Word ra thành nhiều file nhỏ là thủ thuật cực kỳ hữu ích khi bạn đang làm việc với các văn bản Word dài cần chia thành các file theo các chương nhỏ, chương lớn hoặc số tập. Trong bài viết này hãy cùng mình hướng dẫn bạn cách tách một file Word thành nhiều file nhỏ khác nhau vô cùng đơn giản và dễ thực hiện
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 thành các file khác nhau.
Cách thức này sẽ tách file Word ra thành các file nhỏ theo dấu phân cách được bạn chỉ định trong Word
Bước 1: Mở file Word bạn cần tách ra > Đánh dấu phân cách vào các đoạn muốn chia thành các văn bản khác
Bước 2: Sau đó Nhấn tổ hợp phím Alt + F11 để mở cửa sổ Microsoft Visual Basic for Application
Bước 3: Trong cửa sổ vừa được mở ra, bạn nhấp vào Insert > Module
Bước 4: Dán đoạn Code này 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
Bước 4: Sau đó nhấp vào nút Run hoặc nhấn phím F5 để áp dụng đoạn Code trên > Một bảng hiện ra > Bạn nhấn Yes để tiếp tục.
Lưu ý:
- Dòng mã chứa SplitNotes "///", sẽ là dấu phân cách các văn bản với nhau. Chính vì thế mà bạn cần đảm bảo thêm dấu phân tách “///” vào tài liệu giữa mỗi phần văn bản mà bạn muốn tách. Ngoài ra thì bạn có thể đổi “///” thành bất kỳ dấu phân cách nào tùy theo sở thích tại dòng mã trên
- Bạn có thể đổi tên tài liệu sau khi tách ở phần “Notes” trong sub Test tùy theo nhu cầu của bạn
- Các văn bản Word đã tách sẽ được lưu vào cùng một nơi với tệp gốc.
- Bạn không cần thêm dấu phân cách vào cuối tệp gốc vì nếu bạn làm như vậy nó sẽ tạo thêm một tài liệu trống sau khi tách.
Đoạn code VBA sau sẽ giúp nhanh chóng chia tài liệu Word của bạn thành các trang khác nhau. Cách thức thực hiện giống như trên, nhưng lần này bạn thay bằng đoạn code sau:
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
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.
Với plugins Kutools bạn sẽ có thể tách một file Word thành nhiều file nhỏ khác nhau vô cùng đơn giản và trực quan
Bước 1: Tải về plugins Kutools cho Word tại extendoffice.com/download/kutools-for-word.html. Sau đó cài đặt như một chương trình thông thường
Bước 2: Trên giao diện của Word, bạn nhấp chuột Kutools Plus > Split để bật tính năng Split.
Bước 3: Sau đó một bản hiện ra > Bạn lựa chọn cách thức chia nhỏ file Word, nơi lưu file sau khi chia…
Bước 4: Nhấn Ok. Sau khi tách xong, tài liệu sẽ tự động lưu theo nơi bạn đã chọn
Trên đây mình đã hướng dẫn các bạn cách tách file Word ra thành nhiều file nhỏ đơn giản, trực quan nhất. Chúc các bạn thực hiện thành công và hãy tiếp tục theo dõi các mẹo vặt văn phòng được cập nhật liên tục từ Phúc Anh
Link nội dung: https://melodious.edu.vn/cach-tach-1-trang-trong-word-a27170.html