我正在使用以下代码删除.pptm演示文稿中的所有隐藏幻灯片。它有254张幻灯片。
For i = 1 To ActivePresentation.Slides.Count
If ActivePresentation.Slides(i).SlideShowTransition.Hidden = True Then
ActivePresentation.Slides(i).Delete
End If
Next i
但是,我得到一个错误,整数是从1到154,并且155超出了它的范围。
有人可以解释吗?
ActivePresentation.Slides.Count
运行时是否采用了Next i
的新值?
谢谢。
问题是某些幻灯片被删除后,它们的索引不再可用,但您的循环仍试图访问它。
反向运行循环:
For i = ActivePresentation.Slides.Count To 1 Step -1
If ActivePresentation.Slides(i).SlideShowTransition.Hidden = True Then
ActivePresentation.Slides(i).Delete
End If
Next i