Я хочу изменить размер нескольких изображений до одного размера в документе Word. Для отдельного изображения я могу установить высоту и ширину его рамки или форму контейнера, если хотите, затем залить изображение в этот кадр. Как перевести эти процедуры на VBA?
Я написал макрос для изменения размера нескольких изображений, но он плохо работает, чтобы заполнить изображение его кадром. Вот код:
Option Explicit
Sub crop_image()
' resize all selected inline images to specific dimensions
Dim i As Byte
'set desired width and height of an image.
Dim w As Single 'width
Dim h As Single 'height
Dim r As Single 'height-width ratio
w = 8
h = 5.5
r = h / w
With ActiveWindow.Selection
For i = 1 To .InlineShapes.Count
With .InlineShapes(i)
'if the image is tall & thin
If .Height / .Width > r Then
.Width = CentimetersToPoints(w)
.PictureFormat.Crop.ShapeHeight = CentimetersToPoints(h)
'if the image is short & fat
ElseIf .Height / .Width < r Then
.Height = CentimetersToPoints(h)
.PictureFormat.Crop.ShapeWidth = CentimetersToPoints(w)
End If
End With
Next i
End With
End Sub