2010-07-02 40 views
5

Tôi đang cố gắng sao chép một bản trình bày trong bản trình bày PowerPoint theo chương trình và dán ngay sau bản gốc.Có cách nào trực tiếp để lấy chỉ mục của trang chiếu trong bản trình bày PowerPoint không?

Suy nghĩ đầu tiên của tôi là lấy chỉ mục của trang trình bày cũ và thêm bản sao vào chỉ mục mới mong muốn, nhưng dường như tôi không thể tìm được chỉ mục đơn giản để lấy chỉ mục đó. Tôi dự kiến ​​sẽ có một cái gì đó như Slides.IndexOf(Slide slide), nhưng không thể tìm thấy bất cứ điều gì như thế. Tôi đã kết thúc viết mã theo trường rất cũ, có vẻ như hiệu quả, nhưng tôi tò mò muốn biết có cách nào tốt hơn để làm điều này không.

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; 
    } 
} 

Đây là C#/VSTO, nhưng mọi đầu vào có thể đưa tôi vào đúng đường dẫn đều được đánh giá cao, có thể là VBA hoặc VB!

Trả lời

3

Có, những gì bạn muốn là Duplicate trả về SlideRange. Dưới đây là một ví dụ trong VBA:

Sub DuplicateSlide() 
    Dim ap As Presentation 
    Set ap = ActivePresentation 
    Dim sl As SlideRange 
    Set sl = ap.Slides(2).Duplicate 
End Sub 

Để chỉ nhận được chỉ số của slide, bạn có thể sử dụng này:

Sub GetSlideIndex() 
    Dim ap As Presentation 
    Set ap = ActivePresentation 
    Set sl = ap.Slides(2) 
    Debug.Print sl.SlideIndex 
End Sub 
+0

Trừ khi tôi đã bỏ lỡ một cái gì đó, nó không trực tiếp trả lời câu hỏi của tôi, bởi vì những gì tôi sau là cách lấy chỉ mục của một trang trình bày cụ thể. Điều đó đang được nói, cảm ơn phương pháp Nhân bản, sẽ rất hữu ích! – Mathias

+0

@Mathias: Tôi nghĩ bạn muốn có một kỹ thuật sao chép và dán trang trình bày ngay sau bản gốc. Nhưng tôi đã cập nhật với cách để có được chỉ mục Slide. –

+0

Cảm ơn bạn! Tôi biết đã có một cách để có được chỉ số đó, tôi đã hy vọng nó là một phương pháp trên Trang trình bày, không phải là một thuộc tính của Bản thân trang trình bày. Và tôi đánh giá cao mẹo trên Bản sao, điều này sẽ rất tiện dụng. – Mathias

Các vấn đề liên quan