Xóa tất cả các hộp văn bản trong một tài liệu (Microsoft Word)
Nếu bạn làm nhiều việc với các tài liệu từ người khác, bạn có thể phải xóa các hộp văn bản trong các tài liệu đó. Nếu chỉ có một hoặc hai hộp văn bản trong tài liệu, việc chọn chúng và xóa chúng không phải là quá khó. Tuy nhiên, nếu có 30, 40 hoặc nhiều hộp văn bản thì sao?
Xóa chúng riêng lẻ có thể nhanh chóng trở nên tẻ nhạt.
Một giải pháp tiềm năng là phương pháp “vũ phu”. Làm theo các bước sau:
-
Trong tài liệu của bạn, nhấn Ctrl + A. Toàn bộ tài liệu được chọn.
-
Nhấn Ctrl + C. Tài liệu hiện ở trên Clipboard.
-
Mở một tài liệu trống mới.
-
Chọn Dán Đặc biệt từ menu Chỉnh sửa. Word sẽ hiển thị hộp thoại Dán Đặc biệt. (Xem Hình 1.)
-
Trong danh sách các định dạng, chọn Văn bản chưa định dạng.
-
Nhấp vào OK.
Văn bản tài liệu, trừ các hộp văn bản, hiện có trong tài liệu mới. Hạn chế rõ ràng của cách tiếp cận này là định dạng khác của tài liệu gốc cũng bị mất và bạn phải định dạng lại toàn bộ tài liệu. (Tôi đã nói với bạn đây là một phương pháp vũ phu.)
Nếu bạn chỉ muốn loại bỏ các hộp văn bản, thì giải pháp nhanh nhất là sử dụng macro. Macro sau sẽ nhanh chóng xóa tất cả các hộp văn bản trong tài liệu của bạn:
Sub RemoveTextBox1() Dim shp As Shape For Each shp In ActiveDocument.Shapes If shp.Type = msoTextBox Then shp.Delete Next shp End Sub
Bạn sẽ nhận ra rằng macro này loại bỏ tất cả các hộp văn bản và nội dung của chúng. Nói cách khác, nếu một hộp văn bản được sử dụng để đặt văn bản, thì văn bản trong hộp văn bản đó sẽ bị xóa cùng với chính hộp văn bản.
Nếu bạn muốn chuyển văn bản từ các hộp văn bản sang tài liệu, trước khi xóa hộp văn bản, thì một sửa đổi nhỏ trên macro trên sẽ hoạt động:
Sub RemoveTextBox2() Dim shp As Shape Dim oRngAnchor As Range Dim sString As String For Each shp In ActiveDocument.Shapes If shp.Type = msoTextBox Then ' copy text to string, without last paragraph mark sString = Left(shp.TextFrame.TextRange.Text, _ shp.TextFrame.TextRange.Characters.Count - 1) If Len(sString) > 0 Then ' set the range to insert the text Set oRngAnchor = shp.Anchor.Paragraphs(1).Range ' insert the textbox text before the range object oRngAnchor.InsertBefore _ "Textbox start << " & sString & " >> Textbox end" End If shp.delete End If Next shp End Sub
Khi macro này được thực hiện, bạn có thể thực hiện tìm kiếm “Bắt đầu hộp văn bản” và bạn sẽ ở phần đầu của văn bản từng có trong các hộp văn bản hiện đã biến mất khỏi tài liệu của bạn. Sau đó, bạn có thể chỉnh sửa văn bản để nó xuất hiện như bạn muốn.
_Lưu ý: _
Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên các trang WordTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.
WordTips là nguồn của bạn để đào tạo Microsoft Word hiệu quả về chi phí.
(Microsoft Word là phần mềm xử lý văn bản phổ biến nhất trên thế giới.) Mẹo này (1690) áp dụng cho Microsoft Word 97, 2000, 2002 và 2003. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện ribbon của Word (Word 2007 và sau này) tại đây: