Freigeben über


Arbeiten mit Notizenfolien

Letzte Änderung: Freitag, 8. Oktober 2010

Gilt für: Excel 2010 | Office 2010 | PowerPoint 2010 | Word 2010

Inhalt dieses Artikels
Notizenfolien in PresentationML
Open XML SDK 2.0-Klasse "NotesSlide"
Arbeiten mit der NotesSlide-Klasse
Open XML SDK-Codebeispiel
Generierter PresentationML-Code

In diesem Thema wird die Open XML SDK 2.0-Klasse NotesSlide und ihre Beziehung zum Open XML-Dateiformatschema für PresentationML erläutert.

Notizenfolien in PresentationML

In der Spezifikation ISO/IEC 29500 wird das Open XML PresentationML-Element <notes> zur Darstellung von Notizenfolien in einem PresentationML-Dokument wie folgt beschrieben:

Dieses Element gibt das Vorhandensein einer Notizenfolie zusammen mit den entsprechenden Daten an. Auf einer Notizenfolie befinden sich alle allgemeinen Folienelemente sowie weitere Eigenschaften, die spezifisch für das Notizenelement sind.

[Beispiel: Betrachten Sie die folgende PresentationML-Notizenfolie:

<p:notes>
    <p:cSld>
        …
    </p:cSld>
    …
</p:notes>

Im obigen Beispiel gibt ein Notizenelement das Vorhandensein einer Notizenfolie mit allen ihren Teilen an. Beachten Sie das cSld-Element, das die allgemeinen Elemente angibt, die auf jedem Folientyp vorkommen können. Anschließend können beliebige Elemente weitere nicht allgemeine Eigenschaften für diese Notizenfolie angeben. Ende des Beispiels]

© ISO/IEC29500: 2008.

Das <notes>-Element ist das Stammelement des PresentationML-Notizenfolienteils. Weitere Informationen zur Gesamtstruktur der Teile und Elemente eines PresentationML-Dokuments finden Sie unter Struktur eines PresentationML-Dokuments.

In der folgenden Tabelle sind die untergeordneten Elemente des <notes>-Elements, die bei der Arbeit mit Notizenfolien verwendet werden, und die ihnen entsprechenden Open XML SDK 2.0-Klassen aufgeführt.

PresentationML-Element

Open XML SDK 2.0-Klasse

<clrMapOvr>

ColorMapOverride

<cSld>

CommonSlideData

<extLst>

ExtensionListWithModification

In der folgenden Tabelle aus der Spezifikation ISO/IEC 29500 werden die Attribute des <notes>-Elements beschrieben.

Attribut

Beschreibung

showMasterPhAnim (Show Master Placeholder Animations)

Gibt an, ob Animationen für Platzhalter aus der Masterfolie angezeigt werden sollen.

Die möglichen Werte für dieses Attribut sind durch den boolean-Datentyp des W3C XML-Schemas definiert.

showMasterSp (Show Master Shapes)

Gibt an, ob Formen von der Masterfolie auf Folien angezeigt werden sollen.

Die möglichen Werte für dieses Attribut sind durch den boolean-Datentyp des W3C XML-Schemas definiert.

© ISO/IEC29500: 2008.

Open XML SDK 2.0-Klasse "NotesSlide"

Die OXML SDK-Klasse NotesSlide stellt das <notes>-Element dar, das im Open XML-Dateiformatschema für PresentationML-Dokumente definiert ist. Verwenden Sie die NotesSlide-Klasse zum Bearbeiten einzelner <notes>-Elemente in einem PresentationML-Dokument.

Klassen, die untergeordnete Elemente des <notes>-Elements darstellen und daher im Allgemeinen der NotesSlide-Klasse zugeordnet werden, sind in der folgenden Liste aufgeführt.

ColorMapOverride-Klasse

Die ColorMapOverride-Klasse entspricht dem <clrMapOvr>-Element. In den folgenden Informationen aus der Spezifikation ISO/IEC 29500 wird das <clrMapOvr>-Element eingeführt:

Dieses Element bietet einen Mechanismus, um die Farbschemas im <ClrMap>-Element zu überschreiben. Wenn das untergeordnete <masterClrMapping>-Element vorhanden ist, wird das im Master definierte Farbschema verwendet. Wenn das untergeordnete <overrideClrMapping>-Element vorhanden ist, definiert es ein neues, für die übergeordnete Notizenfolie, Präsentationsfolie oder das übergeordnete Folienlayout spezifisches Farbschema.

© ISO/IEC29500: 2008.

CommonSlideData-Klasse

Die CommonSlideData-Klasse entspricht dem <cSld>-Element. In den folgenden Informationen aus der Spezifikation ISO/IEC 29500 wird das <cSld>-Element eingeführt:

Dieses Element gibt einen Container für den Typ von Folieninformationen an, der für alle Folientypen relevant ist. Allen Folien ist ein Satz von Eigenschaften gemeinsam, die unabhängig vom Folientyp sind. Die Beschreibung dieser Eigenschaften für eine bestimmte Folie ist im <cSld>-Container der Folie gespeichert. Spezifische Foliendaten für den vom übergeordneten Element angegebenen Folientyp sind an einer anderen Stelle gespeichert.

Die tatsächlichen Daten in <cSld> beschreiben nur die bestimmte übergeordnete Folie. Nur der Typ der gespeicherten Informationen ist bei allen Folien gleich.

© ISO/IEC29500: 2008.

ExtensionListWithModification-Klasse

Die ExtensionListWithModification-Klasse entspricht dem <extLst>-Element. In den folgenden Informationen aus der Spezifikation ISO/IEC 29500 wird das <extLst>-Element eingeführt:

Dieses Element gibt die Erweiterungsliste mit Modifikationsmöglichkeit an, in der alle künftigen Erweiterungen des Elementtyps <ext> definiert werden. Die Erweiterung wird gemeinsam mit den entsprechenden künftigen Erweiterungen genutzt, um die Speicherfähigkeiten des PresentationML-Frameworks zu vergrößern. Dadurch können verschiedene neue Arten von Daten systeminhärent im Framework gespeichert werden.

[Hinweis: Mithilfe des extLst-Elements kann die generierende Anwendung speichern, ob diese Erweiterungseigenschaft geändert wurde. Ende des Hinweises]

© ISO/IEC29500: 2008.

Arbeiten mit der NotesSlide-Klasse

Wie im folgenden Open XML SDK-Codebeispiel gezeigt wird, wird jeder Instanz der NotesSlide-Klasse eine Instanz der NotesSlidePart-Klasse zugeordnet. Diese stellt einen Notizenfolienteil, einen der Teile eines PresentationML-Präsentationsdateipakets, dar. Dieser Teil ist für jede Notizenfolie in einer Präsentationsdatei erforderlich. Jeder Instanz der NotesSlide-Klasse kann zudem eine Instanz der NotesMaster-Klasse zugeordnet werden, der wiederum ein ähnlich benannter Präsentationsteil zugeordnet ist, der durch die NotesMasterPart-Klasse dargestellt wird.

Der NotesSlide-Klasse, die das <notes>-Element darstellt, ist somit ebenfalls eine Folge anderer Klassen zugeordnet, die die untergeordneten Elemente des <notes>-Elements darstellen. Zu diesen Klassen gehören, wie im folgenden Codebeispiel gezeigt wird, die Klassen CommonSlideData und ColorMapOverride. Die ShapeTree-Klasse und die Shape-Klassen sind wiederum der CommonSlideData-Klasse zugeordnet.

Open XML SDK-Codebeispiel

Durch die folgende Methode wird einer vorhandenen Präsentation ein neuer Notizenfolienteil hinzugefügt und eine Instanz einer Open XML SDK 2,0-Klasse NotesSlide im neuen Notizenfolienteil erstellt. Der Konstruktor der NotesSlide-Klasse erstellt Instanzen der Klassen CommonSlideData und ColorMap. Der Konstruktor der CommonSlideData-Klasse erstellt eine Instanz der ShapeTree-Klasse, deren Konstruktor wiederum weitere Klasseninstanzen erstellt: eine Instanz der NonVisualGroupShapeProperties-Klasse, eine Instanz der GroupShapeProperties-Klasse und eine Instanz der Shape-Klasse.

Bei dem im Code durch den Buchstaben P dargestellten Namespace handelt es sich um den DocumentFormat.OpenXml.Presentation-Namespace.

private static NotesSlidePart CreateNotesSlidePart(SlidePart slidePart1)
    {
        NotesSlidePart notesSlidePart1 = slidePart1.AddNewPart<NotesSlidePart>("rId6");
        NotesSlide notesSlide = new NotesSlide(
        new CommonSlideData(new ShapeTree(
          new P.NonVisualGroupShapeProperties(
          new P.NonVisualDrawingProperties() { Id = (UInt32Value)1U, Name = "" },
          new P.NonVisualGroupShapeDrawingProperties(),
          new ApplicationNonVisualDrawingProperties()),
          new GroupShapeProperties(new TransformGroup()),
          new P.Shape(
          new P.NonVisualShapeProperties(
            new P.NonVisualDrawingProperties() { Id = (UInt32Value)2U, Name = "" },
            new P.NonVisualShapeDrawingProperties(new ShapeLocks() { NoGrouping = true }),
            new ApplicationNonVisualDrawingProperties(new PlaceholderShape())),
          new P.ShapeProperties(),
          new P.TextBody(
            new BodyProperties(),
            new ListStyle(),
            new Paragraph(new EndParagraphRunProperties()))))),
        new ColorMapOverride(new MasterColorMapping()));
        notesSlidePart1.NotesSlide = notesSlide;
        return notesSlidePart1;
    }
Private Shared Function CreateNotesSlidePart(ByVal slidePart1 As SlidePart) As NotesSlidePart
        Dim notesSlidePart1 As NotesSlidePart = slidePart1.AddNewPart(Of NotesSlidePart)("rId6")
        Dim notesSlide As New NotesSlide(New CommonSlideData(New ShapeTree(New P.NonVisualGroupShapeProperties(New P.NonVisualDrawingProperties() With { _
         .Id = DirectCast(1UI, UInt32Value), _
         .Name = "" _
        }, New P.NonVisualGroupShapeDrawingProperties(), New ApplicationNonVisualDrawingProperties()), New  _
            GroupShapeProperties(New TransformGroup()), New P.Shape(New P.NonVisualShapeProperties(New P.NonVisualDrawingProperties() With { _
         .Id = DirectCast(2UI, UInt32Value), _
         .Name = "" _
        }, New P.NonVisualShapeDrawingProperties(New ShapeLocks() With { _
         .NoGrouping = True _
        }), New ApplicationNonVisualDrawingProperties(New PlaceholderShape())), New P.ShapeProperties(), New  _
            P.TextBody(New BodyProperties(), New ListStyle(), New Paragraph(New EndParagraphRunProperties()))))),
        New ColorMapOverride(New MasterColorMapping()))
        notesSlidePart1.NotesSlide = notesSlide
        Return notesSlidePart1
    End Function

Generierter PresentationML-Code

Bei der Ausführung des Open XML SDK 2.0-Codes wird folgende XML in das im Code referenzierte PresentationML-Dokument geschrieben.

<?xml version="1.0" encoding="utf-8"?>
<p:notes xmlns:p="https://schemas.openxmlformats.org/presentationml/2006/main">
  <p:cSld>
    <p:spTree>
      <p:nvGrpSpPr>
        <p:cNvPr id="1"
                 name="" />
        <p:cNvGrpSpPr />
        <p:nvPr />
      </p:nvGrpSpPr>
      <p:grpSpPr>
        <a:xfrm xmlns:a="https://schemas.openxmlformats.org/drawingml/2006/main" />
      </p:grpSpPr>
      <p:sp>
        <p:nvSpPr>
          <p:cNvPr id="2"
                   name="" />
          <p:cNvSpPr>
            <a:spLocks noGrp="1"
                       xmlns:a="https://schemas.openxmlformats.org/drawingml/2006/main" />
          </p:cNvSpPr>
          <p:nvPr>
            <p:ph />
          </p:nvPr>
        </p:nvSpPr>
        <p:spPr />
        <p:txBody>
          <a:bodyPr xmlns:a="https://schemas.openxmlformats.org/drawingml/2006/main" />
          <a:lstStyle xmlns:a="https://schemas.openxmlformats.org/drawingml/2006/main" />
          <a:p xmlns:a="https://schemas.openxmlformats.org/drawingml/2006/main">
            <a:endParaRPr />
          </a:p>
        </p:txBody>
      </p:sp>
    </p:spTree>
  </p:cSld>
  <p:clrMapOvr>
    <a:masterClrMapping xmlns:a="https://schemas.openxmlformats.org/drawingml/2006/main" />
  </p:clrMapOvr>
</p:notes>

Siehe auch

Konzepte

Informationen zum Open XML SDK 2.0 für Microsoft Office

Anleitung: Erstellen einer Präsentation durch Bereitstellen eines Dateinamens

Anleitung: Einfügen einer neuen Folie in eine Präsentation

Anleitung: Löschen einer Folie aus einer Präsentation

Anleitung: Anwenden eines Desigs auf eine Präsentation