2013-04-24 68 views
0
编程

进出口beggineer,我试图删除幻灯片母版usign C#的,但它总是会抛出一个异常幻灯片母版“指定的转换无效”有什么办法删除在主幻灯片母版幻灯片或形状..请建议。如何删除从PPT文档

for (int i = 1; i <= SlideCount; i++) 
      { 
       int j=i; 
       slide = Slides[i]; 

       //iterate over all the shapes of notespage of given slide to find the notespage's shape which has text. 
       for (int k = 1; k <= slide.NotesPage.Shapes.Count; k++) 
       { 
         var noteShape = slide.NotesPage.Shapes[k]; 

        //check if the selected notespage has text or not 
        if (noteShape.Type ==MsoShapeType.msoPlaceholder) 
        { 
         if (noteShape.PlaceholderFormat.Type ==PpPlaceholderType.ppPlaceholderBody) 
         { 
          if (noteShape.HasTextFrame ==MsoTriState.msoTrue) 
          { 
           if (noteShape.TextFrame2.HasText ==MsoTriState.msoTrue) 
           { 

             //create a new slide 
             newslide = tempslides.AddSlide(++j, customLayout); 

             // set the title of newslide as the text of notepage of previous slide. 
             newslide.Shapes.Title.TextFrame.TextRange.Text = noteShape.TextFrame.TextRange.Text; 

             //delete the notepage text; 
             noteShape.TextFrame.TextRange.Delete(); 

             //delete footer from slide. 
             //if (newslide.HeadersFooters.Footer.Visible == MsoTriState.msoTrue) 
             // newslide.HeadersFooters.Footer.Text = string.Empty; 
             //newslide.HeadersFooters.DateAndTime.Text = string.Empty; 
             //newslide.HeadersFooters.SlideNumber.Text = string.Empty; 
             newslide.HeadersFooters.Clear(); 
             newslide.Master.Delete(); 




             //jump to next slide 
             i++; 

             //increase the slide count becoz one slide has been added. 
             SlideCount = tempslides.Count; 
           } 

           } 

         } 

        } 

       } 
      } 

回答

0

您无法删除任何幻灯片所基于的主版面或版式。为什么要删除主幻灯片?

要删除的形状:

newslide.Master.Shapes.Range.Delete

将从幻灯片母版中删除形状,而不是布局幻灯片是基于,因此它可能不完全是你需要的。