2010-07-02 51 views
5

我試圖以編程方式在PowerPoint演示文稿中複製幻燈片,並將其粘貼在原始文件之後。有沒有直接的方式來獲取幻燈片的索引在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!

回答

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 
+0

除非我錯過了一些東西,它並不直接回答我的問題,因爲我是後是如何獲得特定幻燈片的索引。這就是說,感謝Duplicate方法,它會派上用場! – Mathias 2010-07-02 06:11:01

+0

@Mathias:我以爲你想要一種技術來在原件之後複製和粘貼幻燈片。但我已經更新了獲取Slide索引的方式。 – 2010-07-02 06:15:15

+0

謝謝!我知道必須有一種方法來獲得該索引,我期待它成爲幻燈片上的一種方法,而不是幻燈片本身的屬性。我讚賞Duplication的技巧,它會非常方便。 – Mathias 2010-07-02 06:37:32

相關問題