Код VBA для настройки размера изображения в PowerPoint 2016
Я в первую неделю изучаю VBA и ищу код VBA, который поможет мне изменить размер и изменить положение изображений, вставленных в PowerPoint 2016. Ниже приведены подробные сведения о желаемом формате изображений:
Размер - Высота = 3,39" - Ширина = 6,67" - Вращение = 0 - Высота шкалы = 62% - Ширина шкалы = 62% - Соотношение сторон = Заблокировано - Относительно исходного размера изображения = true
Положение - Горизонтальное положение = 0 - Верхний левый угол - Вертикальное положение = 2.06 - Верхний левый угол
Любая помощь будет принята с благодарностью.
6 ответов
Ниже приведен код, который работал для меня. Спасибо за поддержку.
Sub ResizeAll()
For Each tSlide In ActiveWindow.Presentation.Slides
tSlide.Select
With tSlide.Shapes.Item(1)
'assume a blank slide with one image added only
.Select
.Height = 72 * 3.39
.Width = 72 * 6.67
'algin middle (Horizontal Center)
.Left = 0
.Top = ActivePresentation.PageSetup.SlideHeight / 3.25
End With
Next
End Sub
Итак, этот макрос будет корректировать детали каждого изображения в вашей powerpoint.
Sub AdjustImages()
Dim curSlide As Slide
Dim curShape As Shape
For Each curSlide In ActivePresentation.Slides
For Each curShape In curSlide.Shapes
With curShape
'size:
''1 inch = 72 points
.Height = 72 * 3.39
.Width = 72 * 6.67
.ScaleHeight 0.62, msoTrue
.ScaleWidth 0.62, msoTrue
.LockAspectRatio = msoTrue
'position:
.Rotation = 0
.Left = 0
.Top = 2.06
'Relative to original picture size = true
End With
Next curShape
Next curSlide
End Sub
Единственная часть вашего вопроса, которую я на самом деле не понимаю, это когда вы упоминаете, что это "относительно исходного размера изображения = true". Я не могу найти атрибут, который соответствует этому.
Ниже центрирует изображение на слайде
Sub ResizeAll()
For Each tSlide In ActiveWindow.Presentation.Slides
tSlide.Select
With tSlide.Shapes.Item(1)
'assume a blank slide with one image added only
.Select
.Height = 72 * 3.39
.Width = 72 * 6.67
'algin middle (Horizontal Center)
.Left = ActivePresentation.PageSetup.SlideWidth / 2 - .Width / 2
.Top = ActivePresentation.PageSetup.SlideHeight / 2 - .Height / 2
End With
Next
End Sub
Ниже центрирует изображение и выравнивает его по левому краю
Sub ResizeAll()
For Each tSlide In ActiveWindow.Presentation.Slides
tSlide.Select
With tSlide.Shapes.Item(1)
'assume a blank slide with one image added only
.Select
.Height = 72 * 3.39
.Width = 72 * 6.67
'algin middle (Horizontal Center)
.Left = 0
.Top = ActivePresentation.PageSetup.SlideHeight / 2 - .Height / 2
End With
Next
End Sub
уб НастройкаИзображений()
Dim curSlide As Slide
Dim curShape As Shape
For Each curSlide In ActivePresentation.Slides
For Each curShape In curSlide.Shapes
With curShape
'size:
''1 inch = 72 points
.Height = 72 * 3.39
.Width = 72 * 6.67
.ScaleHeight 0.62, msoTrue
.ScaleWidth 0.62, msoTrue
.LockAspectRatio = msoTrue
'position:
.Rotation = 0
.Left = 0
.Top = 2.06
'Relative to original picture size = true
End With
Next curShape
Next curSlide
Конец субтитра
"Относительно исходного размера изображения" - это флажок, расположенный под форматом изображения. Я, вероятно, перечислил неверное утверждение. Это; однако проверяется при просмотре размера и положения изображения. Не уверен, что заявление необходимо.
Я добавил и запустил код. Произошла следующая ошибка:
Ошибка времени выполнения '-2147024809 (80070057) Аргумент RelativetoOriginalSie применяется только к изображению или объекту OLE.
При отладке кода было выделено следующее:
.ScaleHeight 0,62, msoTrue