我正在尝试以编程方式复制PowerPoint演示文稿中的幻灯片,并将其粘贴到原始演示文稿之后。
我的第一个想法是获取旧幻灯片的索引,并将副本添加到所需的新索引,但我似乎无法找到一种直接的方法来检索该索引。我希望有类似Slides.IndexOf(Slide slide)
的东西,但找不到那样的东西。我最后编写了非常老派的代码,这似乎有用,但我很好奇是否有更好的方法来做到这一点。
var slide = (PowerPoint.Slide)powerpoint.ActiveWindow.View.Slide;
var slideIndex = 0;
for (int index = 1; index <= presentation.Slides.Count; index++)
{
if (presentation.Slides[index] == slide)
{
slideIndex = index;
break;
}
}
这是C#/ VSTO,但是任何可以让我走上正确道路的输入都值得赞赏,无论是VBA还是VB!
答案 0 :(得分:3)
是的,您想要的是Duplicate
,它会返回SlideRange
。这是VBA中的一个例子:
Sub DuplicateSlide()
Dim ap As Presentation
Set ap = ActivePresentation
Dim sl As SlideRange
Set sl = ap.Slides(2).Duplicate
End Sub
要获得幻灯片的索引,您可以使用:
Sub GetSlideIndex()
Dim ap As Presentation
Set ap = ActivePresentation
Set sl = ap.Slides(2)
Debug.Print sl.SlideIndex
End Sub