Partager via


PowerPoint.Presentation class

Extends

Remarques

[ Ensemble d’API : PowerPointApi 1.0 ]

Exemples

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/powerpoint/slide-management/insert-slides.yaml

await PowerPoint.run(async function(context) {
    // Get the ID of the first selected slide.
    const presentation: PowerPoint.Presentation = context.presentation;
    const selected: PowerPoint.Slide = presentation.getSelectedSlides().getItemAt(0);
    selected.load("id");
    await context.sync();

    // Insert the other presentation after the selected slide.
    const insertOptions: PowerPoint.InsertSlideOptions = {
        formatting: PowerPoint.InsertSlideFormatting.useDestinationTheme,
        targetSlideId: selected.id
    };
    presentation.insertSlidesFromBase64(chosenFileBase64, insertOptions);
    await context.sync();
});

Propriétés

context

Contexte de requête associé à l’objet . Cela connecte le processus du complément au processus de l’application hôte Office.

customXmlParts

Retourne une collection de parties XML personnalisées associées à la présentation.

id

Obtient l’ID de la présentation.

properties

Obtient les propriétés de la présentation.

slideMasters

Retourne la collection d’objets SlideMaster qui se trouvent dans la présentation.

slides

Retourne une collection ordonnée de diapositives dans la présentation.

tags

Retourne une collection de balises attachées à la présentation.

title

Méthodes

getSelectedShapes()

Retourne les formes sélectionnées dans la diapositive active de la présentation. Si aucune forme n’est sélectionnée, une collection vide est retournée.

getSelectedSlides()

Retourne les diapositives sélectionnées dans l’affichage actuel de la présentation. Le premier élément de la collection est la diapositive active visible dans la zone d’édition. Si aucune diapositive n’est sélectionnée, une collection vide est retournée.

getSelectedTextRange()

Renvoie l’élément PowerPoint.TextRange sélectionné dans l’affichage actuel de la présentation. Lève une exception si aucun texte n’est sélectionné.

getSelectedTextRangeOrNullObject()

Renvoie l’élément PowerPoint.TextRange sélectionné dans l’affichage actuel de la présentation. Si aucun texte n’est sélectionné, un objet avec une isNullObject propriété définie sur true est retourné.

insertSlidesFromBase64(base64File, options)

Insère les diapositives spécifiées à partir d’une présentation dans la présentation actuelle.

load(options)

Files d’attente de la commande pour charger les propriétés de l’objet spécifié. Vous devez contacter context.sync() avant de lire les propriétés.

load(propertyNames)

Files d’attente de la commande pour charger les propriétés de l’objet spécifié. Vous devez contacter context.sync() avant de lire les propriétés.

load(propertyNamesAndPaths)

Files d’attente de la commande pour charger les propriétés de l’objet spécifié. Vous devez contacter context.sync() avant de lire les propriétés.

setSelectedSlides(slideIds)

Sélectionne les diapositives dans l’affichage actuel de la présentation. La sélection de diapositive existante est remplacée par la nouvelle sélection.

toJSON()

Remplace la méthode JavaScript toJSON() afin de fournir une sortie plus utile lorsqu’un objet API est passé à JSON.stringify(). (JSON.stringify, à son tour, appelle la toJSON méthode de l’objet qui lui est passé.) Alors que l’objet d’origine PowerPoint.Presentation est un objet API, la toJSON méthode renvoie un objet JavaScript brut (typé en tant PowerPoint.Interfaces.PresentationDataque ) qui contient des copies superficielles de toutes les propriétés enfants chargées de l’objet d’origine.

Détails de la propriété

context

Contexte de requête associé à l’objet . Cela connecte le processus du complément au processus de l’application hôte Office.

context: RequestContext;

Valeur de propriété

customXmlParts

Retourne une collection de parties XML personnalisées associées à la présentation.

readonly customXmlParts: PowerPoint.CustomXmlPartCollection;

Valeur de propriété

Remarques

[ Ensemble d’API : PowerPointApi 1.7 ]

id

Obtient l’ID de la présentation.

readonly id: string;

Valeur de propriété

string

Remarques

[ Ensemble d’API : PowerPointApi 1.5 ]

properties

Obtient les propriétés de la présentation.

readonly properties: PowerPoint.DocumentProperties;

Valeur de propriété

Remarques

[ Ensemble d’API : PowerPointApi 1.7 ]

slideMasters

Retourne la collection d’objets SlideMaster qui se trouvent dans la présentation.

readonly slideMasters: PowerPoint.SlideMasterCollection;

Valeur de propriété

Remarques

[ Ensemble d’API : PowerPointApi 1.3 ]

slides

Retourne une collection ordonnée de diapositives dans la présentation.

readonly slides: PowerPoint.SlideCollection;

Valeur de propriété

Remarques

[ Ensemble d’API : PowerPointApi 1.2 ]

tags

Retourne une collection de balises attachées à la présentation.

readonly tags: PowerPoint.TagCollection;

Valeur de propriété

Remarques

[ Ensemble d’API : PowerPointApi 1.3 ]

title

readonly title: string;

Valeur de propriété

string

Détails de la méthode

getSelectedShapes()

Retourne les formes sélectionnées dans la diapositive active de la présentation. Si aucune forme n’est sélectionnée, une collection vide est retournée.

getSelectedShapes(): PowerPoint.ShapeScopedCollection;

Retours

Remarques

[ Ensemble d’API : PowerPointApi 1.5 ]

Exemples

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/powerpoint/shapes/get-set-shapes.yaml

// Arranges the selected shapes in a line from left to right.
await PowerPoint.run(async (context) => {
  const shapes: PowerPoint.ShapeScopedCollection = context.presentation.getSelectedShapes();
  const shapeCount = shapes.getCount();
  shapes.load("items");
  await context.sync();
  let maxHeight = 0;
  shapes.items.map((shape) => {
    shape.load("width,height");
  });
  await context.sync();
  shapes.items.map((shape) => {
    shape.left = currentLeft;
    shape.top = currentTop;
    currentLeft += shape.width;
    if (shape.height > maxHeight) maxHeight = shape.height;
  });
  await context.sync();
  currentLeft = 0;
  if (currentTop > slideHeight - 200) currentTop = 0;
});

...

// Gets the shapes you selected on the slide and displays their IDs on the task pane.
await PowerPoint.run(async (context) => {
  let finalTable = "";
  const shapes: PowerPoint.ShapeScopedCollection = context.presentation.getSelectedShapes();
  const shapeCount = shapes.getCount();
  await context.sync();
  finalTable += "<br>getSelectedShapes.getCount returned:<b>" + shapeCount.value + "</b><br>";
  finalTable +=
    "<br><table border=1 cellpadding=3 cellspacing=0><tr><td bgcolor=#3333EE><font color=white>Index</font></td><td bgcolor=#3333EE><font color=white>Id</font></td></tr>";
  shapes.load("items");
  await context.sync();
  shapes.items.map((shape, index) => {
    finalTable += "<tr><td>" + index + "</td><td>" + shape.id + "</td></tr>";
  });
  finalTable += "</table>";
  $("#outputSpan").empty();
  $("#outputSpan").append(finalTable);
});

...

// Saves which shapes are selected so that they can be reselected later.
await PowerPoint.run(async (context) => {
  context.presentation.load("slides");
  await context.sync();
  const slides: PowerPoint.SlideScopedCollection = context.presentation.getSelectedSlides();
  const slideCount = slides.getCount();
  slides.load("items");
  await context.sync();
  savedSlideSelection = [];
  slides.items.map((slide) => {
    savedSlideSelection.push(slide.id);
  });
  const shapes: PowerPoint.ShapeScopedCollection = context.presentation.getSelectedShapes();
  const shapeCount = shapes.getCount();
  shapes.load("items");
  await context.sync();
  shapes.items.map((shape) => {
    savedShapeSelection.push(shape.id);
  });
});

getSelectedSlides()

Retourne les diapositives sélectionnées dans l’affichage actuel de la présentation. Le premier élément de la collection est la diapositive active visible dans la zone d’édition. Si aucune diapositive n’est sélectionnée, une collection vide est retournée.

getSelectedSlides(): PowerPoint.SlideScopedCollection;

Retours

Remarques

[ Ensemble d’API : PowerPointApi 1.5 ]

Exemples

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/powerpoint/slide-management/get-set-slides.yaml

// Gets the selected slides and displays their IDs on the task pane.
await PowerPoint.run(async (context) => {
  let finalTable = "";
  context.presentation.load("slides");
  await context.sync();
  const allSlidesList = {};
  const allSlidesCount = context.presentation.slides.getCount();
  context.presentation.slides.load("items");
  await context.sync();
  let allSlideItems: PowerPoint.Slide[] = context.presentation.slides.items;
  allSlideItems.map((slide, index) => {
    allSlidesList[slide.id] = `Slide ${index + 1}`;
  });

  if ($("#id-check-usenative").is(":checked")) {
    context.presentation.load("tags");
  }
  const slides: PowerPoint.SlideScopedCollection = context.presentation.getSelectedSlides();
  const slideCount = slides.getCount();
  slides.load("items");
  await context.sync();
  finalTable += "<br>getSelectedSlides.getCount returned:<b>" + slideCount.value + "</b><br>";
  finalTable +=
    "<br><table border=1 cellpadding=3 cellspacing=0><tr><td bgcolor=#3333EE><font color=white>Index</font></td><td bgcolor=#3333EE><font color=white>Id</font></td></tr>";
  slides.items.map((slide, index) => {
    finalTable += "<tr><td>" + index + " - " + allSlidesList[slide.id] + "</td><td>" + slide.id + "</td></tr>";
  });
  finalTable += "</table>";
  $("#outputSpan").empty();
  $("#outputSpan").append(finalTable);
});

...

// Saves which slides are currently selected so they can be reselected later.
await PowerPoint.run(async (context) => {
  let finalTable = "";
  context.presentation.load("slides");
  await context.sync();
  const slides: PowerPoint.SlideScopedCollection = context.presentation.getSelectedSlides();
  const slideCount = slides.getCount();
  await context.sync();
  finalTable += "<br>getSelectedSlides.getCount returned:<b>" + slideCount.value + "</b><br>";
  finalTable +=
    "<br><table border=1 cellpadding=3 cellspacing=0><tr><td bgcolor=#3333EE><font color=white>Index</font></td><td bgcolor=#3333EE><font color=white>Id</font></td></tr>";
  savedSlideSelection = [];
  slides.load("items");
  await context.sync();
  slides.items.map((slide, index) => {
    finalTable += "<tr><td>" + index + "</td><td>" + slide.id + "</td></tr>";
    savedSlideSelection.push(slide.id);
  });
  finalTable += "</table>";
  $("#outputSpan").empty();
  $("#outputSpan").append(finalTable);
});

getSelectedTextRange()

Renvoie l’élément PowerPoint.TextRange sélectionné dans l’affichage actuel de la présentation. Lève une exception si aucun texte n’est sélectionné.

getSelectedTextRange(): PowerPoint.TextRange;

Retours

Remarques

[ Ensemble d’API : PowerPointApi 1.5 ]

Exemples

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/powerpoint/text/get-set-textrange.yaml

// Gets the selected text range and prints data about the range on the task pane.
await PowerPoint.run(async (context) => {
  const textRange: PowerPoint.TextRange = context.presentation.getSelectedTextRange();
  try {
    await context.sync();
  } catch (error) {
    console.warn("You must select only one range of text for this action to work.");
    return;
  }
  textRange.load("text");
  textRange.load("start");
  textRange.load("length");
  await context.sync();
  let txtHtml = textRange.text;
  txtHtml = txtHtml.replace(/\n/g, "<br>");
  txtHtml = txtHtml.replace(/\r/g, "<br>");
  txtHtml = txtHtml.replace(/\v/g, "<br>");
  let txtExplained = textRange.text;
  txtExplained = txtExplained.replace(/\n/g, "<font color=red>NL</font>");
  txtExplained = txtExplained.replace(/\r/g, "<font color=red>CR</font>");
  txtExplained = txtExplained.replace(/\v/g, "<font color=red>VV</font>");
  let finalTable = "";
  finalTable +=
    "<br><table border=1 cellpadding=3 cellspacing=0><tr><td bgcolor=#3333EE><font color=white>Index</font></td><td bgcolor=#3333EE><font color=white>Id</font></td></tr>";
  finalTable += "<tr><td>Raw</td><td>" + textRange.text + "</td></tr>";
  finalTable += "<tr><td>Html</td><td>" + txtHtml + "</td></tr>";
  finalTable += "<tr><td>Exp</td><td>" + txtExplained + "</td></tr>";
  finalTable += "<tr><td>Start</td><td>" + textRange.start + "</td></tr>";
  finalTable += "<tr><td>Length</td><td>" + textRange.length + "</td></tr>";
  finalTable += "</table>";
  $("#outputSpan").empty();
  $("#outputSpan").append(finalTable);
});

...

// Sets the range selection to the range that was saved previously.
await PowerPoint.run(async (context) => {
  const slide1: PowerPoint.Slide = context.presentation.slides.getItem(savedTextSlideSelection[0]);
  const shape1: PowerPoint.Shape = slide1.shapes.getItem(savedTextShapeSelection[0]);
  const textRange: PowerPoint.TextRange = shape1.textFrame.textRange.getSubstring(savedTextTextRangeStart, savedTextTextRangeLength);
  textRange.setSelected();
  await context.sync();
});

getSelectedTextRangeOrNullObject()

Renvoie l’élément PowerPoint.TextRange sélectionné dans l’affichage actuel de la présentation. Si aucun texte n’est sélectionné, un objet avec une isNullObject propriété définie sur true est retourné.

getSelectedTextRangeOrNullObject(): PowerPoint.TextRange;

Retours

Remarques

[ Ensemble d’API : PowerPointApi 1.5 ]

insertSlidesFromBase64(base64File, options)

Insère les diapositives spécifiées à partir d’une présentation dans la présentation actuelle.

insertSlidesFromBase64(base64File: string, options?: PowerPoint.InsertSlideOptions): void;

Paramètres

base64File

string

Chaîne encodée en Base64 représentant le fichier de présentation source.

options
PowerPoint.InsertSlideOptions

Options qui définissent les diapositives à insérer, l’emplacement des nouvelles diapositives et la mise en forme de la présentation qui sera utilisée.

Retours

void

Remarques

[ Ensemble d’API : PowerPointApi 1.2 ]

Exemples

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/powerpoint/slide-management/insert-slides.yaml

await PowerPoint.run(async function(context) {
    // Get the ID of the first selected slide.
    const presentation: PowerPoint.Presentation = context.presentation;
    const selected: PowerPoint.Slide = presentation.getSelectedSlides().getItemAt(0);
    selected.load("id");
    await context.sync();

    // Insert the other presentation after the selected slide.
    const insertOptions: PowerPoint.InsertSlideOptions = {
        formatting: PowerPoint.InsertSlideFormatting.useDestinationTheme,
        targetSlideId: selected.id
    };
    presentation.insertSlidesFromBase64(chosenFileBase64, insertOptions);
    await context.sync();
});

load(options)

Files d’attente de la commande pour charger les propriétés de l’objet spécifié. Vous devez contacter context.sync() avant de lire les propriétés.

load(options?: PowerPoint.Interfaces.PresentationLoadOptions): PowerPoint.Presentation;

Paramètres

options
PowerPoint.Interfaces.PresentationLoadOptions

Fournit des options pour les propriétés de l’objet à charger.

Retours

load(propertyNames)

Files d’attente de la commande pour charger les propriétés de l’objet spécifié. Vous devez contacter context.sync() avant de lire les propriétés.

load(propertyNames?: string | string[]): PowerPoint.Presentation;

Paramètres

propertyNames

string | string[]

Chaîne délimitée par des virgules ou tableau de chaînes qui spécifient les propriétés à charger.

Retours

load(propertyNamesAndPaths)

Files d’attente de la commande pour charger les propriétés de l’objet spécifié. Vous devez contacter context.sync() avant de lire les propriétés.

load(propertyNamesAndPaths?: {
            select?: string;
            expand?: string;
        }): PowerPoint.Presentation;

Paramètres

propertyNamesAndPaths

{ select?: string; expand?: string; }

propertyNamesAndPaths.select est une chaîne délimitée par des virgules qui spécifie les propriétés à charger, et propertyNamesAndPaths.expand est une chaîne délimitée par des virgules qui spécifie les propriétés de navigation à charger.

Retours

setSelectedSlides(slideIds)

Sélectionne les diapositives dans l’affichage actuel de la présentation. La sélection de diapositive existante est remplacée par la nouvelle sélection.

setSelectedSlides(slideIds: string[]): void;

Paramètres

slideIds

string[]

Liste des ID de diapositive à sélectionner dans la présentation. Si la liste est vide, la sélection est effacée.

Retours

void

Remarques

[ Ensemble d’API : PowerPointApi 1.5 ]

Exemples

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/powerpoint/slide-management/get-set-slides.yaml

// Sets selection to the slides that were saved.
await PowerPoint.run(async (context) => {
  context.presentation.setSelectedSlides(savedSlideSelection);
  await context.sync();
});

...

// Selects slides 2, 4, and 5.
await PowerPoint.run(async (context) => {
  context.presentation.load("slides");
  await context.sync();
  const slide2: PowerPoint.Slide = context.presentation.slides.getItemAt(1);
  const slide4: PowerPoint.Slide = context.presentation.slides.getItemAt(3);
  const slide5: PowerPoint.Slide = context.presentation.slides.getItemAt(4);
  slide2.load("id");
  slide4.load("id");
  slide5.load("id");
  try {
    await context.sync();
  } catch (error) {
    console.warn("This action requires at least 5 slides in the presentation.");
    return;
  }
  await context.sync();
  context.presentation.setSelectedSlides([slide2.id, slide4.id, slide5.id]);
  await context.sync();
});

toJSON()

Remplace la méthode JavaScript toJSON() afin de fournir une sortie plus utile lorsqu’un objet API est passé à JSON.stringify(). (JSON.stringify, à son tour, appelle la toJSON méthode de l’objet qui lui est passé.) Alors que l’objet d’origine PowerPoint.Presentation est un objet API, la toJSON méthode renvoie un objet JavaScript brut (typé en tant PowerPoint.Interfaces.PresentationDataque ) qui contient des copies superficielles de toutes les propriétés enfants chargées de l’objet d’origine.

toJSON(): PowerPoint.Interfaces.PresentationData;

Retours