Изменение размера всех изображений, больше заданного размера с помощью макроса в Microsoft Word 2007?

1572
Maysea

У меня есть документ Word с около 5000 изображений. Есть два типа, один, которые имеют низкую высоту, и другие, которые выше. Я только хочу изменить размеры тех, которые выше, чем 1 см, чтобы иметь ширину 2,3 см. У меня есть макрос для изменения размера всех фотографий, но если есть способ добавить условие, о котором я упоминал, пожалуйста, дайте мне знать.

Вот макрос, который я использовал для изменения размера всех изображений.

Sub SizeAllImage() Dim pic As Long With ActiveDocument For pic = 1 To .InlineShapes.Count With .InlineShapes(pic) .Width = CentimetersToPoints(2.3) End With Next pic End With End Sub 
0
Что если вы добавите тест IF, чтобы проверить, равна ли высота изображения> = 1 см, а истинным результатом будет назначение .Width в блоке With. Например, если предположить, что .height уже в точках: если .Height> = CentimetersToPoints (1), то .Width = CentimetersToPoints (2.3) - Tanya 6 лет назад 0
Спасибо, это работает как шарм. Вы сделаете ответ за это, или я должен? Для людей, не очень знакомых с синтаксисом vba, вот последний макрос, который работал для меня: Sub SizeAllImage () Dim pic As Long с ActiveDocument для pic = 1 до .InlineShapes.Count With .InlineShapes (pic) If .Height> = CentimetersToPoints (1) Тогда .Width = CentimetersToPoints (4.3) Конец, если заканчивается следующим снимком Maysea 6 лет назад 0
Рад за вас добавить ответ. Tanya 6 лет назад 0

1 ответ на вопрос

0
Maysea

Один из возможных способов создания этого условного макроса - это использование If для проверки высоты выбранного изображения. (спасибо за помощь Тане).

Sub SizeAllImage() Dim pic As Long With ActiveDocument For pic = 1 To .InlineShapes.Count With .InlineShapes(pic) If .Height >= CentimetersToPoints(1) Then .Width = CentimetersToPoints(2.3) End If  End With Next pic End With End Sub 

Похожие вопросы