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. |
custom |
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. |
slide |
Retourne la collection d’objets |
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
get |
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. |
get |
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. |
get |
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é. |
get |
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 |
insert |
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 |
load(property |
Files d’attente de la commande pour charger les propriétés de l’objet spécifié. Vous devez contacter |
load(property |
Files d’attente de la commande pour charger les propriétés de l’objet spécifié. Vous devez contacter |
set |
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 |
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
Notes
Cet API est fourni en tant qu’aperçu pour les développeurs et peut être modifié en fonction des commentaires que nous avons reçus. N’utilisez pas cet API dans un environnement de production.
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 BETA (PRÉVERSION UNIQUEMENT) ]
id
Obtient l’ID de la présentation.
readonly id: string;
Valeur de propriété
string
Remarques
properties
Notes
Cet API est fourni en tant qu’aperçu pour les développeurs et peut être modifié en fonction des commentaires que nous avons reçus. N’utilisez pas cet API dans un environnement de production.
Obtient les propriétés de la présentation.
readonly properties: PowerPoint.DocumentProperties;
Valeur de propriété
Remarques
[ Ensemble d’API : PowerPointApi BETA (PRÉVERSION UNIQUEMENT) ]
slideMasters
Retourne la collection d’objets SlideMaster
qui se trouvent dans la présentation.
readonly slideMasters: PowerPoint.SlideMasterCollection;
Valeur de propriété
Remarques
slides
Retourne une collection ordonnée de diapositives dans la présentation.
readonly slides: PowerPoint.SlideCollection;
Valeur de propriété
Remarques
tags
Retourne une collection de balises attachées à la présentation.
readonly tags: PowerPoint.TagCollection;
Valeur de propriété
Remarques
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
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
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
appelle à son tour 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.PresentationData
que ) qui contient des copies superficielles de toutes les propriétés enfants chargées de l’objet d’origine.
toJSON(): PowerPoint.Interfaces.PresentationData;