Группировка фигур / объектов для каждого слайда и отражение их в презентации PowerPoint - PullRequest
0 голосов
/ 23 марта 2020

Я новичок в Power-Point VBA, и я хотел бы сгруппировать все фигуры / объекты на каждом слайде Power-Point и перевернуть его по горизонтали, изменив шрифт на arial на всех презентационных слайдах. Вот код, которого я достиг, но он группирует каждый Форма как одна, и я не могу добавить группировку перед переключением, пожалуйста, сообщите

Sub DTPMacro ()

Dim sld As Slide
Dim shp As Shape
Dim sFontName As String

' Edit this as needed:
sFontName = "Arial"

With ActivePresentation
    For Each sld In .Slides
        For Each shp In sld.Shapes
         shp.Flip msoFlipHorizontal
            With shp
                If .HasTextFrame Then
                    If .TextFrame.HasText Then
                        .TextFrame.TextRange.Font.Name = sFontName
                    End If
                End If
            End With
        Next
    Next
End With

End Sub

1 Ответ

1 голос
/ 24 марта 2020

Попробуйте вместо этого:

Sub DTPMacro()

Dim sld As Slide
Dim shp As Shape
Dim grpshp As Shape
Dim sFontName As String

' Edit this as needed:
sFontName = "Arial"

With ActivePresentation
    For Each sld In .Slides
        For Each shp In sld.Shapes
         ' Don't flip the individual shapes
         'shp.Flip msoFlipHorizontal
            With shp
                If .HasTextFrame Then
                    If .TextFrame.HasText Then
                        .TextFrame.TextRange.Font.Name = sFontName
                    End If
                End If
            End With
        Next
        ' group and flip the shapes on the slide here
        Set grpshp = sld.Shapes.Range.Group
        grpshp.Flip msoFlipHorizontal
    Next
End With

End Sub
...