我下面有以下代码循环遍历PPT演示文稿中的所有幻灯片。如果幻灯片属于其中一个部分且未隐藏,则将使用适当的名称保存它们。我正在尝试获取已保存名称(即TEST#)之后的数字,以便每个部分始终从1开始。因此,如果IDSS部分中有五张幻灯片(从幻灯片5开始),则将它们保存起来:IDSS1,IDSS2等。下面我将其保存的方式只是将其与当前幻灯片编号一起保存。感谢您提供的任何帮助!
编辑以提供更大的清晰度
此PPT演示中有许多不同的幻灯片,所有幻灯片都位于特定的命名部分中。对于此示例,假设总共有6张幻灯片。幻灯片1-3位于名为“ TEST”的部分,幻灯片3被隐藏。幻灯片4-6在“ IDSS”部分中,没有一个被隐藏。我需要代码来遍历所有幻灯片,找出哪些在“ TEST”部分中,并将它们命名为“ TEST1”和“ TEST2”(由于隐藏了第三张幻灯片,所以将其跳过)。然后将其移至“ IDSS”部分,并将幻灯片另存为“ IDSS1”,“ IDSS2”和“ IDSS3”。这是我无法以每个部分的1重新启动的名称后的数字。希望这样做更清楚。
Dim sld As Slide
TestSection = SectionIndexOf("Test") 'Name of a section is in the quotes.
IDSSslides = SectionIndexOf("IDSS")
i = 1
For Each sld In ActivePresentation.Slides
If sld.sectionIndex = TestSection And ActivePresentation.Slides(i).SlideShowTransition.Hidden = msoFalse Then
ActivePresentation.Slides(i).Export filenamepng & "TEST" & i & ".png", "PNG"
ElseIf sld.sectionIndex = IDSSslides And ActivePresentation.Slides(i).SlideShowTransition.Hidden = msoFalse Then
ActivePresentation.Slides(i).Export filenamepng & "IDSS" & i & ".png", "PNG"
End If
i = i + 1
Next
答案 0 :(得分:1)
您的问题并不十分清楚,但是我认为这就是您所需要的,尝试一下并让我知道
Dim sld As Slide
TestSection = SectionIndexOf("Test") 'Name of a section is in the quotes.
IDSSslides = SectionIndexOf("IDSS")
dim i as integer 'Counter for TEST
dim j as integer'Counter for IDSS
i = 1
j=1
For Each sld In ActivePresentation.Slides
If sld.sectionIndex = TestSection And sld.SlideShowTransition.Hidden = msoFalse Then
sld.Export filenamepng & "TEST" & i & ".png", "PNG"
i=i+1
ElseIf sld.sectionIndex = IDSSslides And sld.SlideShowTransition.Hidden = msoFalse Then
sld.Export filenamepng & "IDSS" & j & ".png", "PNG"
j=j+1
End If
Next