PowerPoint.Presentation class
L’objet Presentation est l’objet de niveau supérieur avec une ou plusieurs diapositives qui contiennent le contenu de la présentation. Pour en savoir plus sur le modèle d’objet PowerPoint, voir Modèle d’objet PowerPoint JavaScript.
- Extends
Remarques
Utilisateur
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
| bindings | Renvoie un ensemble de liaisons associées à la présentation. |
| context | Contexte de requête associé à l’objet. Cette opération connecte le processus du complément à celui de l’application hôte Office. |
| custom |
Renvoie une collection de parties XML personnalisées associées à la présentation. |
| id | Obtient l’ID de la présentation. |
| page |
Renvoie les informations de mise en page dont les propriétés contrôlent les attributs de configuration des diapositives pour la présentation. |
| properties | Obtient les propriétés de la présentation. |
| sensitivity |
Renvoie l’étiquette de confidentialité de la présentation. |
| slide |
Renvoie la collection d’objets |
| slides | Renvoie un ensemble ordonné de diapositives dans la présentation. |
| tags | Renvoie une collection de balises jointes à la présentation. |
| title | Renvoie le titre de la présentation. |
Méthodes
| get |
Renvoie la diapositive PowerPoint.Slide active actuelle qui est visible dans la zone d’édition. S’il n’y a pas de diapositive active, un objet avec une |
| get |
Renvoie 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 renvoyée. |
| get |
Renvoie 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 le fichier 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 le fichier PowerPoint.TextRange sélectionné dans l’affichage actuel de la présentation. Si aucun texte n’est sélectionné, un objet dont la |
| insert |
Insère les diapositives spécifiées 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 diapositives existante est remplacée par la nouvelle sélection. |
| toJSON() | Remplace la méthode JavaScript |
Événements
| on |
Se produit lorsque la sélection de diapositives dans la présentation change. Cet événement est déclenché lorsque l’utilisateur sélectionne une autre diapositive ou modifie la sélection de diapositives. Cet événement n’est pas déclenché lorsque la sélection du contenu (par exemple, les formes) dans la diapositive change. |
Détails de la propriété
bindings
Renvoie un ensemble de liaisons associées à la présentation.
readonly bindings: PowerPoint.BindingCollection;
Valeur de propriété
Remarques
Exemples
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/powerpoint/shapes/binding-to-shapes.yaml
// Loads bindings.
await PowerPoint.run(async (context) => {
const bindings = context.presentation.bindings;
bindings.load("items");
await context.sync();
const bindingCount = bindings.items.length;
if (bindingCount === 0) {
console.log(`There are no bindings.`);
} else if (bindingCount === 1) {
console.log("There's 1 binding.");
} else {
console.log(`There are ${bindingCount} bindings.`);
}
bindings.items.forEach((binding) => {
getShapeForBindingId(binding.id).then((shape) => {
if (shape) {
console.log(`Binding ID: ${binding.id} refers to shape ID ${shape.id}`);
} else {
console.log(`Binding ID: ${binding.id} doesn't refers to shape.`);
}
});
});
populateBindingsDropdown(bindings.items);
});
context
Contexte de requête associé à l’objet. Cette opération connecte le processus du complément à celui de l’application hôte Office.
context: RequestContext;
Valeur de propriété
customXmlParts
Renvoie une collection de parties XML personnalisées associées à la présentation.
readonly customXmlParts: PowerPoint.CustomXmlPartCollection;
Valeur de propriété
Remarques
id
Obtient l’ID de la présentation.
readonly id: string;
Valeur de propriété
string
Remarques
pageSetup
Renvoie les informations de mise en page dont les propriétés contrôlent les attributs de configuration des diapositives pour la présentation.
readonly pageSetup: PowerPoint.PageSetup;
Valeur de propriété
Remarques
properties
Obtient les propriétés de la présentation.
readonly properties: PowerPoint.DocumentProperties;
Valeur de propriété
Remarques
sensitivityLabel
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.
Renvoie l’étiquette de confidentialité de la présentation.
readonly sensitivityLabel: PowerPoint.SensitivityLabel;
Valeur de propriété
Remarques
slideMasters
Renvoie la collection d’objets SlideMaster qui se trouvent dans la présentation.
readonly slideMasters: PowerPoint.SlideMasterCollection;
Valeur de propriété
Remarques
slides
Renvoie un ensemble ordonné de diapositives dans la présentation.
readonly slides: PowerPoint.SlideCollection;
Valeur de propriété
Remarques
tags
Renvoie une collection de balises jointes à la présentation.
readonly tags: PowerPoint.TagCollection;
Valeur de propriété
Remarques
title
Renvoie le titre de la présentation.
readonly title: string;
Valeur de propriété
string
Remarques
Détails de la méthode
getActiveSlideOrNullObject()
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.
Renvoie la diapositive PowerPoint.Slide active actuelle qui est visible dans la zone d’édition. S’il n’y a pas de diapositive active, un objet avec une isNullObject propriété définie sur true est renvoyé. Pour plus d’informations, consultez * Méthodes et propriétés d’OrNullObject.
getActiveSlideOrNullObject(): PowerPoint.Slide;
Retours
Remarques
Jeu d’API : PowerPointApi BETA (PRÉVERSION UNIQUEMENT)
Exemples
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/powerpoint/preview-apis/presentation-get-active-slide.yaml
await PowerPoint.run(async (context) => {
// Gets the active slide in the presentation.
const slide: PowerPoint.Slide = context.presentation.getActiveSlideOrNullObject();
slide.load("id");
const activeSlideImage = slide.getImageAsBase64({ height: 200 });
await context.sync();
if (slide.isNullObject) {
console.log("There are no slides in this presentation.");
return;
}
console.log(`Active slide ID: ${slide.id}`);
updateSlideImage(activeSlideImage.value);
});
getSelectedShapes()
Renvoie 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 renvoyée.
getSelectedShapes(): PowerPoint.ShapeScopedCollection;
Retours
Remarques
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>";
const outputSpan = document.getElementById("outputSpan");
outputSpan.innerHTML = "";
outputSpan.innerHTML += 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()
Renvoie 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
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}`;
});
const checkbox = document.getElementById("id-check-usenative") as HTMLInputElement;
if (checkbox && checkbox.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>";
const outputSpan = document.getElementById("outputSpan");
outputSpan.innerHTML = ""
outputSpan.innerHTML += 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>";
const outputSpan = document.getElementById("outputSpan");
outputSpan.innerHTML = ""
outputSpan.innerHTML += finalTable;
});
getSelectedTextRange()
Renvoie le fichier 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
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 +=
"<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>";
const outputSpan = document.getElementById("outputSpan");
outputSpan.innerHTML = "";
outputSpan.innerHTML += 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 le fichier PowerPoint.TextRange sélectionné dans l’affichage actuel de la présentation. Si aucun texte n’est sélectionné, un objet dont la isNullObject propriété est définie sur true est renvoyé. Pour plus d’informations, consultez * Méthodes et propriétés d’OrNullObject.
getSelectedTextRangeOrNullObject(): PowerPoint.TextRange;
Retours
Remarques
insertSlidesFromBase64(base64File, options)
Insère les diapositives spécifiées d’une présentation dans la présentation actuelle.
insertSlidesFromBase64(base64File: string, options?: PowerPoint.InsertSlideOptions): void;
Paramètres
- base64File
-
string
Chaîne codée en Base64 représentant le fichier de présentation source.
- options
- PowerPoint.InsertSlideOptions
Les 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
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 spécifiant 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 diapositives 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
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 simple (typé ) PowerPoint.Interfaces.PresentationDataqui contient des copies superficielles de toutes les propriétés enfants chargées à partir de l’objet d’origine.
toJSON(): PowerPoint.Interfaces.PresentationData;
Retours
Détails de l’événement
onSlideSelectionChanged
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.
Se produit lorsque la sélection de diapositives dans la présentation change. Cet événement est déclenché lorsque l’utilisateur sélectionne une autre diapositive ou modifie la sélection de diapositives. Cet événement n’est pas déclenché lorsque la sélection du contenu (par exemple, les formes) dans la diapositive change.
readonly onSlideSelectionChanged: OfficeExtension.EventHandlers<PowerPoint.SlideSelectionChangedEventArgs>;