Удаление изображений из нескольких файлов (Microsoft Word)
У Росарио огромное количество документов (их около 44 000), каждый из которых содержит графику в заголовке. Она ищет способ удалить всю эту графику без необходимости открывать и изменять каждый документ вручную.
К счастью, с этим можно справиться, создав макрос. Все, что вам нужно сделать, это поместить все документы в папку, а затем использовать макрос для поиска в папке, открытия каждого документа, удаления рисунка и сохранения каждого документа. Это можно сделать с помощью следующего макроса:
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
Этот макрос предполагает, что вы хотите удалить всю графику (как плавающую, так и встроенную) в заголовке. Они удаляются, и каждый файл сохраняется. Макрос не влияет на другие изображения в документе.
Обратите внимание, что этот конкретный макрос проверяет файлы, которые используют расширение DOCX. Если у вас есть документы, использующие разные расширения (например, DOCM или более старый DOC), вам придется запускать макрос несколько раз. Между каждым запуском меняйте строку, задающую шаблон для расширения файла. (В конце строки есть комментарий, который гласит: «Соответствующий шаблон файла».)
_Примечание: _
Если вы хотите знать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах WordTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
WordTips — ваш источник экономичного обучения работе с Microsoft Word.
(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (9744) относится к Microsoft Word 2007 и 2010. Вы можете найти версию этого совета для старого интерфейса меню Word здесь:
link: / word-Removing_Pictures_from_Multiple_Files [Удаление изображений из нескольких файлов]
.