В этой статье мы сосредоточимся на том, чтобы показать вам, как автоматически скрывать изображения и фигуры с помощью VBA при печати документа Word.
В одном из наших предыдущих рost, мы представили 4 способа скрыть изображения и фигуры, чтобы предотвратить их печать. Для получения подробной информации вы можете обратиться к этой статье: 4 способа сэкономить чернила, распечатав документ Word без изображений и фигур
Однако 4 обычных способа, которые мы предложили на днях, требуют сначала скрыть изображения и фигуры на экране. Более того, для печати файлов вам придется вручную переключиться в режим просмотра Word за кулисами. После этого, если вы хотите сохранить изображения и фигуры на экране нетронутыми, вам остается только отменить все предыдущие действия.
Поэтому мы хотели бы представить вам макрос, который поможет вам сэкономить усилия.
Шаги для запуска макроса
- Первый и первыйost, перейдите на вкладку «Разработчик».
- Затем нажмите «Visual Basic», чтобы открыть редактор VBA.

- Затем нажмите «Обычный», чтобы вставить новый модуль, нажав вкладку «Вставить».
- Затем выберите «Модуль».
- Теперь дважды щелкните только что созданный модуль, чтобы появилась область редактирования.
- Вставьте туда следующие коды:
Sub PrintNoImagesOrShapesInDoc()
Dim objDoc As Document
Dim objInLineShape As InlineShape
Dim objShape As Shape
' Initialization
Set objDoc = ActiveDocument
' Find all images and shapes in the active document and then hide them to prevent from being printed.
With objDoc
For Each objInLineShape In .InlineShapes
objInLineShape.Select
Selection.Font.Hidden = True
Next objInLineShape
Options.PrintDrawingObjects = False
End With
Dialogs(wdDialogFilePrint).Show
With objDoc
For Each objInLineShape In .InlineShapes
objInLineShape.Select
Selection.Font.Hidden = False
Next objInLineShape
End With
End Sub
- Наконец, нажмите «Выполнить» или нажмите «F5».
После этого щелчка или штриха Word вызовет диалоговое окно «Печать». После выбора свойств печати нажмите «ОК» для печати.
Вы получите файл без изображений и форм, а электронная версия останется прежней. Теперь, если вам нужно распечатать несколько файлов, исключая изображения и фигуры, вот способ.
- Во-первых, организуйте все файлы в одной папке.
- Затем повторите все вышеперечисленные шаги, чтобы установить и запустить макрос в редакторе VBA, только чтобы заменить макрос на этот:
Sub PrintMultiDocWithNoImagesAndShapes()
Dim objDoc As Document
Dim objInLineShape As InlineShape
Dim objShape As Shape
Dim strFile As String, strFolder As String
' Initialization
strFolder = "C:\Users\Public\Documents\New folder\"
strFile = Dir(strFolder & "*.docx", vbNormal)
While strFile <> ""
Set objDoc = Documents.Open(FileName:=strFolder & strFile)
' Open each doc and print it withour images and shapes.
With objDoc
For Each objInLineShape In .InlineShapes
objInLineShape.Select
Selection.Font.Hidden = True
Next objInLineShape
Options.PrintDrawingObjects = False
End With
Dialogs(wdDialogFilePrint).Show
With objDoc
For Each objInLineShape In .InlineShapes
objInLineShape.Select
Selection.Font.Hidden = False
Next objInLineShape
End With
objDoc.Save
objDoc.Close
strFile = Dir()
Wend
End Sub
Внимание:
В строке кода «strFolder = «C:\Users\Public\Documents\New folder\»» замените путь к файлу на фактический путь к папке, в которой вы храните файлы.
Необходимость восстановить сломанные файлы
Хотя потеря файлов сейчас не чуждая тема, некоторые люди все еще недооценивают важность исправление документа. Некоторые просто отбрасывают поврежденные файлы. Но что, если это действительно критично? С приближением крайнего срока, будет ли у вас достаточно времени, чтобыtarвсе сначала? Ответ очевиден. В то время как когда дело доходит до извлечения плохих документов, выбор надежного инструмента совершенно необходим.
Об авторе:
Вера Чен — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая поврежденный xls и pdf ремонт программных продуктов. Для получения дополнительной информации посетите www.datanumen.com


