Масштабирование графики в макросе (Microsoft Word)
Возможно, вам потребуется регулярно масштабировать графику в документе на определенный процент. Использование инструментов ленты для масштабирования может быть утомительным, поэтому вы можете выполнить масштабирование с помощью макроса, который можно назначить кнопке 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 [Масштабирование графики в макросе]
.