Возможно, вам потребуется регулярно масштабировать графику в документе на определенный процент. Использование инструментов ленты для масштабирования может быть утомительным, поэтому вы можете выполнить масштабирование с помощью макроса, который можно назначить кнопке link: / wordribbon-Adding_Tools_to_the_Quick_Access_Toolbar [Панель быстрого доступа] или сочетанию клавиш. Следующий макрос отлично справится с масштабированием:

Sub PictSize()

Dim PercentSize As Integer

PercentSize = InputBox("Enter percent of full size", _       "Resize Picture", 75)



If Selection.InlineShapes.Count > 0 Then         Selection.InlineShapes(1).ScaleHeight = PercentSize         Selection.InlineShapes(1).ScaleWidth = PercentSize     Else         Selection.ShapeRange.ScaleHeight Factor:=(PercentSize / 100), _           RelativeToOriginalSize:=msoCTrue         Selection.ShapeRange.ScaleWidth Factor:=(PercentSize / 100), _           RelativeToOriginalSize:=msoCTrue     End If End Sub

Сначала макрос запрашивает процентное значение, на которое вы хотите масштабировать выбранное изображение, предлагая 75 (75%) по умолчанию. Когда вы указываете процентное соотношение, макрос затем проверяет, является ли выбранная графика встроенной или плавающей. Причина этого заключается в том, что спецификация объекта различается в каждом случае, а также то, как задается масштабирование. Встроенные объекты принадлежат коллекции InlineShapes, а плавающие объекты устанавливаются с помощью объекта ShapeRange.

Если вы хотите изменить размер всей графики в документе на один и тот же процент, вам нужно только изменить вышеуказанный макрос, чтобы он проходил через каждую встроенную графику, а затем каждую из плавающих изображений.

Sub AllPictSize()

Dim PercentSize As Integer     Dim oIshp As InlineShape     Dim oshp As Shape

PercentSize = InputBox("Enter percent of full size", _       "Resize Picture", 75)



For Each oIshp In ActiveDocument.InlineShapes         With oIshp             .ScaleHeight = PercentSize             .ScaleWidth = PercentSize         End With     Next oIshp

For Each oshp In ActiveDocument.Shapes         With oshp             .ScaleHeight Factor:=(PercentSize / 100), _               RelativeToOriginalSize:=msoCTrue             .ScaleWidth Factor:=(PercentSize / 100), _               RelativeToOriginalSize:=msoCTrue         End With     Next oshp End Sub

_Примечание: _

Если вы хотите знать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах WordTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

WordTips — ваш источник экономичного обучения работе с Microsoft Word.

(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (7069) применим к Microsoft Word 2007, 2010, 2013, 2016, 2019 и Word в Office 365. Вы можете найти версию этого совета для старый интерфейс меню Word здесь:

link: / word-Scaling_Graphics_in_a_Macro [Масштабирование графики в макросе].