Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 删除PPT演示文稿中除图表以外的所有内容?_Vba_Powerpoint - Fatal编程技术网

Vba 删除PPT演示文稿中除图表以外的所有内容?

Vba 删除PPT演示文稿中除图表以外的所有内容?,vba,powerpoint,Vba,Powerpoint,我想删除powerpoint演示文稿中的所有内容,除了已经存在的图表。我找了一天都没找到 然而,我发现这个VBA删除了所有图表。不幸的是,这与我试图实现的目标恰恰相反。我尝试过使用其他代码中的VBA并添加它,但没有任何帮助。任何帮助都将不胜感激 Sub RemoveAllCharts() Dim sld As Slide Dim i, num 'Loop Through Each Slide in ActivePresentation For Each sld In

我想删除powerpoint演示文稿中的所有内容,除了已经存在的图表。我找了一天都没找到

然而,我发现这个VBA删除了所有图表。不幸的是,这与我试图实现的目标恰恰相反。我尝试过使用其他代码中的VBA并添加它,但没有任何帮助。任何帮助都将不胜感激

Sub RemoveAllCharts()
    Dim sld As Slide
    Dim i, num

'Loop Through Each Slide in ActivePresentation   
  For Each sld In ActivePresentation.Slides
    num = sld.Shapes.Count
    For i = num To 1 Step -1
        If sld.Shapes(i).HasChart Then
            sld.Shapes(i).Delete
        End If
    Next i
  Next sld
End Sub

您可以添加
而不是
来实现这一点,即更改

If sld.Shapes(i).HasChart Then



您可以添加
而不是
来实现这一点,即更改

If sld.Shapes(i).HasChart Then


Sub RemoveAllButCharts()
    Dim sld As Slide
    Dim i As Long, num As Long

    'Loop Through Each Slide in ActivePresentation
    For Each sld In ActivePresentation.Slides
        num = sld.Shapes.Count
        For i = num To 1 Step -1
            If Not sld.Shapes(i).HasChart Then
                sld.Shapes(i).Delete
            End If
        Next i
     Next sld
End Sub