/ / Zmazať všetky tvary PowerPoint snímky - .net, c # -4.0, powerpoint, powerpoint-vba, powerpoint-2010

Odstrániť všetky tvary prezentácie programu PowerPoint - .net, c # -4.0, powerpoint, powerpoint-vba, powerpoint-2010

Pokúsil som sa odstrániť všetky tvary s nasledujúcim kódom:


PowerPoint.Application ppApp = Globals.ThisAddIn.aplikácie; PowerPoint.Presentation ppP = ppApp.ActivePresentation; PowerPoint.Slide ppS = ppApp.ActiveWindow.Selection.SlideRange [1]; PowerPoint.Shapes tvary = ppS.Shapes;  foreach (PowerPoint.Shape tvar v tvare) { shape.Delete (tvar); }

Nemôžem odstrániť všetky tvary, ako som očakával,pretože keď je tvar odstránený, bude to mať vplyv na PowerPoint.Shapes. Ak chcem odstrániť všetky tvary, musím pridať všetky tvary do zoznamu a potom ich odstrániť ako:


PowerPoint.Application ppApp = Globals.ThisAddIn.aplikácie; PowerPoint.Presentation ppP = ppApp.ActivePresentation; PowerPoint.Slide ppS = ppApp.ActiveWindow.Selection.SlideRange [1]; PowerPoint.Shapes tvary = ppS.Shapes; if (shape == null) návrat;  List listShapes = new Zoznam (); foreach (PowerPoint.Shape tvar v tvare) { listShapes.Add (tvar); }  foreach (tvar PowerPoint.Shape v zoznameShapes) { shape.Delete (); }

Existujú iné spôsoby rýchleho odstránenia?

odpovede:

1 pre odpoveď č. 1

Z kolekcie môžete „t iterovať“ a odstrániť položku z tejto kolekcie, pretože to má vplyv na kolekciu.

while (shapes.Count > 0) {
shapes[0].Delete();
}

Nie 100% istí syntaxe vo vzťahu k PowerPointu, ale to je všeobecná myšlienka.