在Powerpoint VBA中仅导出特定部分中的幻灯片

时间:2019-02-01 18:33:18

标签: vba powerpoint

我有一些代码,可以将幻灯片导出到PNG文件(如果它们符合特定条件)(即,幻灯片中具有特定的命名形状)。在某些情况下,幻灯片不会具有任何已知的形状名称,但会位于命名的“部分”中。

我知道我必须以某种方式使用ActivePresentation.SectionProperties,但是我不确定如何执行此操作。我已经尝试了以下代码,但没有成功。在此示例中,该部分的名称为“测试”。将有许多不同的部分,我将需要对其中几个部分进行此操作。任何帮助将非常感激。谢谢!

Dim sld As Slide
i = 1

For Each sld in ActivePresentation.Slides

If ActivePresentation.SectionProperties.Name("Test") Then
   ActivePresentation.Slides(i).Export filenamepng & "TEST" & i & ".png", "PNG"
End If

i = i + 1

Next

1 个答案:

答案 0 :(得分:4)

@ Hunter21188

我想这就是您所需要的。

您将检查每个幻灯片属于哪个部分。 在此之后,您验证它是否来自“测试”部分,如果是真实的陷阱!导出。

糟糕。该函数将不在幻灯片集合中的SectionIndex从Slide Atribute转换为SectionName。

Sub Test_Export()

Dim sld As Slide
i = 1

DesiredSection = SectionIndexOf("Test")

For Each sld In ActivePresentation.Slides

If sld.sectionIndex = DesiredSection Then
   ActivePresentation.Slides(i).Export filenamepng & "TEST" & i & ".png", "PNG"
End If

i = i + 1

Next


End Sub

Function SectionIndexOf(sSectionName As String) As Long
    Dim x As Long
    With ActivePresentation.SectionProperties
        For x = 1 To .Count
            If .Name(x) = sSectionName Then
                SectionIndexOf = x
            End If
        Next
    End With
End Function