代码之家  ›  专栏  ›  技术社区  ›  Mathias

在PowerPoint演示文稿中是否有直接获取幻灯片索引的方法?

  •  5
  • Mathias  · 技术社区  · 15 年前

    我正试图以编程方式在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!

    1 回复  |  直到 15 年前
        1
  •  3
  •   Todd Main    15 年前

    是的,你想要的是 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