Как программно читать и изменять заметки к слайдам в PowerPoint - PullRequest
7 голосов
/ 29 января 2010

Как получить текст заметки с текущего слайда PowerPoint с помощью C #?

Ответы [ 2 ]

4 голосов
/ 30 января 2010

Я думаю, это то, что вы ищете:

string s = slide.NotesPage.Shapes[2].TextFrame.TextRange.Text
slide.NotesPage.Shapes[2].TextFrame.TextRange.Text = "Hello World"
1 голос
/ 17 декабря 2013

Вот мой код, который я использую для получения заметок к слайду. Все еще развивает это, но, кажется, делает свое дело в настоящее время. Даже в моем простом тестовом PPT примечания к слайдам не всегда являются элементом [2] в массиве фигур, поэтому важно проверить.

    private string GetNotes(Slide slide)
    {
        if (slide.HasNotesPage == MsoTriState.msoFalse)
            return string.Empty;

        string slideNodes = string.Empty;
        var notesPage = slide.NotesPage;
        int length = 0;
        foreach (Shape shape in notesPage.Shapes)
        {
            if (shape.Type == MsoShapeType.msoPlaceholder)
            {
                var tf = shape.TextFrame;
                try
                {
                    //Some TextFrames do not have a range
                    var range = tf.TextRange;
                    if (range.Length > length)
                    {   //Some have a digit in the text, 
                        //so find the longest text item and return that
                        slideNodes = range.Text;
                        length = range.Length;
                    }
                    Marshal.ReleaseComObject(range);
                }
                catch (Exception)
                {}
                finally
                { //Ensure clear up
                    Marshal.ReleaseComObject(tf);
                }
            }
            Marshal.ReleaseComObject(shape);
        }
        return slideNodes;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...