VBA循环内的一个循环,第二个循环总是从1开始
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VBA循环内的一个循环,第二个循环总是从1开始相关的知识,希望对你有一定的参考价值。
下面我有下面的代码遍历一个PPT演示的所有幻灯片。如果幻灯片属于任一部分,而不是隐藏,这将它们保存以适当的名称。我想拿到号码后保存的名称(即TEST#)总是从1开始,在每个部分。因此,如果有是IDSS部分,它开始于幻灯片5的五个幻灯片,那么他们将被保存:IDSS1,IDSS2,等我有下面的方式正好与当前的幻灯片编号保存它。感谢您的任何帮助,您可以提供!
编辑提供更清晰
我在这个PPT演示,所有这些都位于一个特定命名段内的许多不同的幻灯片。对于这个例子,假设有总共6个滑动。幻灯片1-3是一个名为“TEST”的部分,滑动3是隐藏的。幻灯片4-6是在部分“智能决策支持系统”,并没有被隐藏。我需要通过所有幻灯片代码回路,找出哪些是“测试”一节中,并命名为“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
答案
你的问题是不是真的不清楚,但我认为这是你所需要的,试试吧,让我知道
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
以上是关于VBA循环内的一个循环,第二个循环总是从1开始的主要内容,如果未能解决你的问题,请参考以下文章