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.
-
Đảm bảo rằng tab Trang đầu của dải băng được hiển thị.
-
Nhấp vào mũi tên xuống dưới công cụ Dán (ở bên trái của dải băng) và chọn Dán Đặc biệt. 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. Cũng cần hiểu rằng bất kỳ thứ gì “đặc biệt” trong văn bản — chẳng hạn như bảng — được macro chuyển đổi thành văn bản thông thường. Điều này có nghĩa là macro có thể dẫn đến một lượng lớn công việc cần được thực hiện ở định dạng văn bản được chuyể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 (9169) áp dụng cho Microsoft Word 2007, 2010 và 2013.
Bạn có thể tìm phiên bản của mẹo này cho giao diện menu cũ hơn của Word tại đây: