プログラミングの初心者で、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;
}
}
}
}
}
}