如何用vba批量修改ppt幻灯片图形中的文本?

要用vba操作ppt幻灯片图形中的文本,需要先使用Shape对象的HasTextFrame属性判断图形是否含有文本框架,然后再用HasText属性判断文本框架中是否含有文本,最后用TextRange对象的Text属性返回图形中的文本。

以下是一个批量操作ppt幻灯片中所有图形的文本的通用代码:

Sub QQ1722187970()
    Dim oPPT As Presentation
    Dim oSlide As Slide
    Dim oCL As CustomLayout
    Dim oP As Shape
    '当前ppt演示文稿
    Set oPPT = PowerPoint.ActivePresentation
    With oPPT
        '遍历每一个幻灯片
        For Each oSlide In .Slides
            With oSlide
                '遍历每一个图形
                For Each oP In .Shapes
                    With oP
                        If .HasTextFrame Then
                            If .TextFrame.HasText Then
                                sText = .TextFrame.TextRange.Text
                                '************************'
                                '接下来是操作代码
                                 '************************'
                            End If
                        End If
                    End With
                Next
            End With
        Next
    End With
End Sub
       

发表评论