Макрос массового уменьшения размеров всех рисунковИсточник: wordexpert Антон Конкин
Есть документ Word с картинками (их много) и текстом. Необходимо "ужать" количество страниц. Уменьшить шрифт текста - понятно, но как уменьшить размер всех картинок одновременно, скажем, на 50%? Сделать это можно с помощью следующего макроса: Первый вариант: Sub changeImages() Dim iShape As InlineShape For Each iShape In ActiveDocument.InlineShapes iShape.Height = iShape.Height * 0.5 iShape.Width = iShape.Width * 0.5 Next iShape End sub Второй вариант для объектов класса Shape или InlineShape: Sub changeImages2() Dim pic As Object For Each pic In ActiveDocument.Content.InlineShapes If pic.Type = wdInlineShapePicture Then pic.Height = pic.Height / 2 pic.Width = pic.Width / 2 End If Next For Each pic In ActiveDocument.Content.ShapeRange If pic.Type = msoPicture Then pic.Height = pic.Height / 2 If pic.LockAspectRatio = msoFalse Then pic.Width = pic.Width / 2 End If End If Next End sub Обратите внимание, что если в документе нет объектов класса Shape (например, автофигур), то макрос вернет ошибку (второй вариант). |