VBA代码可将PPT幻灯片另存为PNG文件,而忽略隐藏的幻灯片

时间:2019-01-25 14:41:36

标签: vba powerpoint

我有一个PPT,可以包含任意数量的幻灯片,其中任何一张幻灯片都可以在需要时隐藏。我写了一个宏来将演示文稿另存为png图像,但是它将每张幻灯片(包括隐藏的幻灯片)另存为单独的图像。我希望它保存所有隐藏的幻灯片。有谁知道导出或另存为的方法可以跳过隐藏的幻灯片?当我将其导出为PDF时,它将自动忽略隐藏的幻灯片,但是png文件却不是这种情况。

保存所有幻灯片(包括隐藏的幻灯片)的代码:

ActiveWindow.Presentation.SaveAs filenamepng, ppSaveAsPNG 'Save the.png files for each slide.

我看到有一些选项不能“打印”隐藏的幻灯片,但是我看不到用于保存png图像的类似选项。谢谢您能给我的帮助!

1 个答案:

答案 0 :(得分:0)

由于SteveRindsberg的评论,我得以提出以下解决问题的代码。

Dim sld As Slide
Dim shp As Shape

    i = 1

For Each sld In ActivePresentation.Slides
    For Each shp In sld.Shapes
    On Error Resume Next
        If ActivePresentation.Slides(i).SlideShowTransition.Hidden = msoFalse And shapeName(ActivePresentation.Slides(i), "NameofShapeonSlide") Then
            ActivePresentation.Slides(i).Export filenamepng & "SlideName" & i & ".png", "PNG"

        End If
    i = i + 1
    Next
Next