Vấn đề: Tôi có 1 file Word, file Word này khoảng 100 trang (hay hơn nữa), bây giờ tôi muốn chia file Word này ra làm nhiều file nhỏ khác nhau, ví dụ như thành 50 file Word, mỗi file có 2 trang, hay 1 số trang nào đó tôi cần thì phải làm thế nào?
Giải pháp: Có rất nhiều giải pháp cho vấn đề này, bạn có thể copy nội dung ra từng file và save lại với tên bạn yêu cầu. Tuy nhiên, nếu tài liệu càng dài thì công việc khá là nhàm chán, xin giới thiệu với các bạn 1 giải pháp – tôi đang sử dụng giải pháp này – cho công việc của mình. Hy vọng sẽ giúp ích cho bạn nào cũng đang tìm kiếm 1 cách làm nào đó để xử lý công việc giống như tôi. Chúng ta bắt đầu nhé.
Điều kiện cần:
1. Microsoft Office 2003 –> 2010.
2. file tài liệu có nhiều trang cần chia.
3. Đoạn mã để thực hiện tác vụ chia file cho bạn.
Thực tế:
Tôi sử dụng Word 2010 (Trial) – Bạn lưu ý, tôi đã gặp một số bạn sử dụng Office 2010 crack và gặp một số lỗi không hay trong Excel, còn có lỗi ở ứng dụng khác hay không thì tôi chưa có điều kiện thử nghiệm. Nên nếu thực sự bạn cần 1 bộ Office lành lặn, phục vụ tốt cho nhu cầu của bạn, thì bạn nên dùng bản Trial bạn nhé – sau đó, khi hết hạn 60 ngày, bạn dùng công cụ ở bài viết này để kéo dài thời gian sử dụng, sẽ tốt hơn là mình crack bộ Office này bạn nhé!
Tóm tắt thực hiện:
Trước tiên chúng ta sẽ mở file Word lên, sau đó dán đoạn code (mã) vào trình xử lý VBA của Word, lưu lại, đánh dấu chỗ cần chia file, chạy nó, và xem các file đã được chia ra.
Tìm hiểu sơ về đoạn mã sẽ dán vào VBA của Word:
Bạn không cần phải là 1 chuyên viên lập trình để hiểu được chuyện này, ta chỉ quan tâm cái chúng ta cần, thế thôi. Đây là đoạn mã
———————————————————————————————————————————————————————
Option ExplicitSub SplitNotes(delim As String, strFilename As String) Dim doc As Document Dim arrNotes Dim I As Long Dim X As Long Dim Response As IntegerarrNotes = 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 SubSub test() ' delimiter & filename SplitNotes "///", "Notes " End Sub
———————————————————————————————————————————————————————
Trong đoạn mã trên, bạn lưu ý dòng này
SplitNotes “///”, “Notes “
Dấu /// chính là cái để làm dấu Word sẽ chia file Word của bạn ra, khi chương trình chạy, bạn để dấu này chỗ nào, thì tới dấu đó, Word sẽ chia file của bạn chỗ đó (và tất nhiên xóa dấu này đi).
Chữ Notes chính là tên file Word mới sẽ được tạo ra. Hẳn nhiên ở đây, các file sẽ có tên và ở cuối file sẽ có số thứ tự gồm 3 chữ số.
Thực hiện:
Giờ chúng ta thực hiện luôn cách làm này nhé, như những bài hướng dẫn trước trên Blog này, đa số bài viết sẽ dài, nhưng bạn cố gắng xem cho kỹ, mục đích là bạn hiểu, khi hiểu rồi thì bạn làm thực tế rất nhanh, chứ không dài như vầy nữa đâu
Tôi có 1 file Word và đây là nơi chứa nó
Bước 1. Mở file Word lên
File này có 164 trang, và tôi muốn nó chia 10 trang vào 1 file, vậy tôi sẽ có tổng cộng là 17 file
Bước 2. Dán đoạn code trên vào trình xử lý VBA của Word.
Đầu tiên, đang ở file Word, bạn bấm tổ hợp phím Alt + F11 để mở trình xử lý VBA của Word lên
Tiếp theo, ở cửa sổ bên trái, bạn click phải chuột vào chữ ThisDocument và chọn View Code.
Khung bên phải lúc này hiện ra trắng trơn, bạn copy đoạn code ở trên và dán vào đây, như thế này
Bây giờ, tôi muốn đổi tên các tài liệu như tên tài liệu gốc (nhưng sẽ có thêm đánh số tự động phía sau) thì tôi đổi chữ Notes (như đã nói ở trên) thành tên tài liệu gốc như hình
Save lại tài liệu (bằng cách bấm Ctrl + S). Tắt cửa sổ này đi.
Bước 3. Đánh dấu chỗ cần chia file
Bây giờ bạn đã quay trở lại màn hình Word, ta tiến hành đánh dấu từng 10 trang một, bấm Ctrl + G để đến trang 10, trang 20, trang 30… và gõ vào /// để đánh dấu – bạn lưu ý, bạn hoàn toàn có thể thay đổi cách đánh dấu này – nhưng khuyên dùng dấu này, kẻo không lại bị trùng với các ký hiệu khác trong tài liệu.
Cứ làm như vậy cho tới hết tài liệu luôn bạn nhé.
Bước 4. Sau khi đánh dấu xong. Bạn bấm tổ hợp phím Alt + F8 – một hộp thoại hiện lên
Bạn chọn vào chữ test (nếu có thêm chữ khác thì mặc định chữ này không được chọn đâu, bạn phải click vào chọn) trong khung bên trái. Sau đó click nút Run. Một bảng thông báo hiện lên hỏi bạn có thực sự muốn chia file Word ra làm 17 file không? Bạn nhấn Yes để đồng ý.
Khi bạn nhấn Yes xong thì màn hình của bạn sẽ giựt giựt do Word đang làm việc, đừng lo lắng! Và khi Word dừng lại, bạn vào lại thư mục chứa file của bạn để kiểm tra các file mới vừa được tạo ra bạn nhé
Hãy xem lại thành quả của mình xem nào! Chúc bạn thành công.
(Theo VBAExpress.com – Nguyễn Triết Học)
![]()