Próbuję programowo skopiować slajd w prezentacji programu PowerPoint i wkleić go zaraz po oryginale.Czy istnieje bezpośredni sposób na uzyskanie indeksu slajdu w prezentacji programu PowerPoint?
Moja pierwsza myśl polegała na uzyskaniu indeksu starego slajdu i dodaniu kopii do pożądanego nowego indeksu, ale nie mogę znaleźć prostego sposobu na odzyskanie tego indeksu. Spodziewałem się mieć coś takiego jak Slides.IndexOf(Slide slide)
, ale nie mogłem znaleźć czegoś takiego. W końcu napisałem bardzo staromodny kod, który wydaje się działać, ale jestem ciekawy, czy istnieje lepszy sposób na zrobienie tego.
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;
}
}
To jest C#/VSTO, ale każde wejście, które może narazić mnie na właściwą drogę jest doceniane, czy to VBA lub VB!
Chyba coś mi umknęło, nie bezpośrednio odpowiedzieć na moje pytanie, bo to, co jestem po to jak uzyskać indeks konkretnego slajdu. Biorąc to pod uwagę, dziękuję za metodę Duplicate, która będzie przydatna! – Mathias
@Mathias: Myślałem, że chcesz techniki kopiowania i wklejania slajdu zaraz po oryginale. Ale zaktualizowałem sposób, aby uzyskać indeks slajdów. –
Dziękujemy! Wiedziałem, że musi istnieć sposób na uzyskanie tego indeksu, spodziewałem się, że będzie to metoda na slajdach, a nie właściwość samego slajdu. Doceniam wskazówkę dotyczącą kopiowania, która przyda się bardzo dobrze. – Mathias