0

我是编程初学者,我正在尝试使用 c# 删除母版幻灯片,但它总是抛出异常“指定的演员表无效”有没有办法删除母版幻灯片上的母版幻灯片或形状..请建议。

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

                              }

                         }

                     }

                 }
             }
4

1 回答 1

0

您不能删除任何幻灯片所基于的母版或布局。为什么要删除母版幻灯片?

要删除形状:

新闻幻灯片.Master.Shapes.Range.Delete

这将从幻灯片母版中删除形状,但不会删除幻灯片所基于的布局,因此它可能不是您所需要的。

于 2013-04-25T17:55:44.023 回答