/ / PowerPoint स्लाइड के सभी आकार हटाएं - .net, c # -4.0, powerpoint, powerpoint-vba, powerpoint-2010

पावरपॉइंट स्लाइड के सभी आकार हटाएं - .NET, c # -4.0, पावरपॉइंट, पावरपॉइंट-वीबीए, पावरपॉइंट -2010

मैंने कोड के निम्नलिखित भाग के साथ सभी आकारों को हटाने की कोशिश की:


PowerPoint.Aplication ppApp = Globals.ThisAddIn।आवेदन; PowerPoint.Presentation ppP = ppApp.ActivePresentation; PowerPoint.Slide ppS = ppApp.ActiveWindow.Selection.SlideRange [1]; PowerPoint.Shapes आकार = ppS.Shapes;  foreach (आकार में PowerPoint. आकार आकार) { shape.Delete (आकार); }

जैसा कि मैंने अपेक्षा की थी, यह सभी आकारों को हटा नहीं सकता है,क्योंकि जब कोई आकार हटा दिया जाता है, तो यह PowerPoint.Shapes को प्रभावित करेगा। अगर मैं सभी आकारों को हटाना चाहता हूं, तो मुझे सभी आकारों को सूची में जोड़ना होगा, और फिर प्रत्येक को इस तरह से हटा देना होगा:


PowerPoint.Aplication ppApp = Globals.ThisAddIn।आवेदन; PowerPoint.Presentation ppP = ppApp.ActivePresentation; PowerPoint.Slide ppS = ppApp.ActiveWindow.Selection.SlideRange [1]; PowerPoint.Shapes आकार = ppS.Shapes; अगर (आकार == शून्य) वापसी;  सूची सूचीशैप्स = नई सूची (); foreach (आकार में PowerPoint. आकार आकार) { listShapes.Add (आकार); }  foreach (PowerPoint.Shap आकार सूची में आकार) { shape.Delete (); }

क्या तेजी से हटाने के लिए कोई और तरीका है?

उत्तर:

उत्तर № 1 के लिए 1

आप संग्रह पर पुन: सक्रिय नहीं हो सकते हैं और उस संग्रह से किसी आइटम को हटा सकते हैं, क्योंकि यह संग्रह को प्रभावित करता है। तो बस प्रत्येक लूप से बचने का प्रयास करें:

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

PowerPoint से रिश्ते में वाक्यविन्यास का 100% निश्चित नहीं है, लेकिन यह सामान्य विचार है।