Код 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

Другие вопросы по тегам