Rosario có một số lượng lớn tài liệu (khoảng 44.000 tài liệu), mỗi tài liệu có chứa một hình ảnh trong tiêu đề. Cô ấy đang tìm cách loại bỏ tất cả những hình ảnh đó mà không cần phải mở và sửa đổi từng tài liệu theo cách thủ công.

May mắn thay, điều này có thể được xử lý bằng cách tạo một macro. Tất cả những gì bạn cần làm là đặt tất cả các tài liệu vào một thư mục và sau đó sử dụng macro để tìm kiếm trong thư mục, mở từng tài liệu, xóa hình ảnh và lưu từng tài liệu. Điều này có thể được thực hiện với một macro như sau:

Sub StripGraphics()

Dim oShape As Shape     Dim oIShape As InlineShape     Dim I As Integer     Dim J As Integer

With Application.FileSearch         .LookIn = "C:\MyStuff\"     ' where to search         .SearchSubFolders = True    ' search the subfolders         .FileName = "*.docx"        ' file pattern to match

' if more than one match, execute the following code         If .Execute() > 0 Then             MsgBox "Found " & .FoundFiles.Count & " file(s)."



' for each file you find, run this loop             For I = 1 To .FoundFiles.Count                 ' open the file based on its index position                 Documents.Open FileName:=.FoundFiles(I)



' document is now active, check all sections                 For J = 1 To ActiveDocument.Sections.Count                     With ActiveDocument.Sections(J).Headers(wdHeaderFooterPrimary)

' remove floating graphics from header                         If .Shapes.Count > 0 Then                             For Each oShape In .Shapes                                 oShape.Delete                             Next oShape                         End If                         ' remove inline graphics from header                         If .Range.InlineShapes.Count > 0 Then                             For Each oIShape In .Range.InlineShapes                                 oIShape.Delete                             Next oIShape                         End If                     End With                     With ActiveDocument.Sections(J).Headers(wdHeaderFooterFirstPage)

' remove floating graphics from header                         If .Shapes.Count > 0 Then                             For Each oShape In .Shapes                                 oShape.Delete                             Next oShape                         End If                         ' remove inline graphics from header                         If .Range.InlineShapes.Count > 0 Then                             For Each oIShape In .Range.InlineShapes                                 oIShape.Delete                             Next oIShape                         End If                     End With                 Next J

' save and close the current document                 ActiveDocument.Close wdSaveChanges             Next I         Else             MsgBox "No files found."

End If     End With End Sub

Macro này đưa ra giả định rằng bạn muốn loại bỏ tất cả đồ họa (cả nổi và nội dòng) trong tiêu đề. Chúng đã bị xóa và mỗi tệp được lưu lại. Macro không ảnh hưởng đến bất kỳ đồ họa nào khác trong tài liệu.

Bạn nên lưu ý rằng macro cụ thể này kiểm tra các tệp sử dụng phần mở rộng DOCX. Nếu bạn có các tài liệu sử dụng các phần mở rộng khác nhau (chẳng hạn như DOCM hoặc DOC cũ hơn), bạn sẽ cần chạy macro nhiều lần. Giữa mỗi lần chạy, hãy thay đổi dòng đặt mẫu cho phần mở rộng tệp. (Dòng có chú thích ở cuối “mẫu tệp phù hợp”.)

_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 (9744) áp dụng cho Microsoft Word 2007 và 2010. 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: