PowerPoint.Presentation class
- Extends
Comentarios
[ Conjunto de API: PowerPointApi 1.0 ]
Ejemplos
// 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();
});
Propiedades
context | Contexto de solicitud asociado al objeto . Esto conecta el proceso del complemento al proceso de la aplicación host de Office. |
id | Obtiene el identificador de la presentación. |
slide |
Devuelve la colección de |
slides | Devuelve una colección ordenada de diapositivas de la presentación. |
tags | Devuelve una colección de etiquetas adjuntas a la presentación. |
title |
Métodos
get |
Devuelve las formas seleccionadas en la diapositiva actual de la presentación. Si no se selecciona ninguna forma, se devuelve una colección vacía. |
get |
Devuelve las diapositivas seleccionadas en la vista actual de la presentación. El primer elemento de la colección es la diapositiva activa que está visible en el área de edición. Si no se selecciona ninguna diapositiva, se devuelve una colección vacía. |
get |
Devuelve el objeto PowerPoint.TextRange seleccionado en la vista actual de la presentación. Produce una excepción si no hay texto seleccionado. |
get |
Devuelve el objeto PowerPoint.TextRange seleccionado en la vista actual de la presentación. Si no se selecciona ningún texto, se devuelve un objeto con una |
insert |
Inserta las diapositivas especificadas de una presentación en la presentación actual. |
load(options) | Pone en cola un comando para cargar las propiedades especificadas del objeto. Debe llamar a |
load(property |
Pone en cola un comando para cargar las propiedades especificadas del objeto. Debe llamar a |
load(property |
Pone en cola un comando para cargar las propiedades especificadas del objeto. Debe llamar a |
set |
Selecciona las diapositivas de la vista actual de la presentación. La selección de diapositivas existente se reemplaza por la nueva selección. |
toJSON() | Invalida el método JavaScript |
Detalles de las propiedades
context
Contexto de solicitud asociado al objeto . Esto conecta el proceso del complemento al proceso de la aplicación host de Office.
context: RequestContext;
Valor de propiedad
id
Obtiene el identificador de la presentación.
readonly id: string;
Valor de propiedad
string
Comentarios
slideMasters
Devuelve la colección de SlideMaster
objetos que se encuentran en la presentación.
readonly slideMasters: PowerPoint.SlideMasterCollection;
Valor de propiedad
Comentarios
slides
Devuelve una colección ordenada de diapositivas de la presentación.
readonly slides: PowerPoint.SlideCollection;
Valor de propiedad
Comentarios
tags
Devuelve una colección de etiquetas adjuntas a la presentación.
readonly tags: PowerPoint.TagCollection;
Valor de propiedad
Comentarios
title
readonly title: string;
Valor de propiedad
string
Detalles del método
getSelectedShapes()
Devuelve las formas seleccionadas en la diapositiva actual de la presentación. Si no se selecciona ninguna forma, se devuelve una colección vacía.
getSelectedShapes(): PowerPoint.ShapeScopedCollection;
Devoluciones
Comentarios
[ Conjunto de API: PowerPointApi 1.5 ]
Ejemplos
// 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()
Devuelve las diapositivas seleccionadas en la vista actual de la presentación. El primer elemento de la colección es la diapositiva activa que está visible en el área de edición. Si no se selecciona ninguna diapositiva, se devuelve una colección vacía.
getSelectedSlides(): PowerPoint.SlideScopedCollection;
Devoluciones
Comentarios
[ Conjunto de API: PowerPointApi 1.5 ]
Ejemplos
// 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()
Devuelve el objeto PowerPoint.TextRange seleccionado en la vista actual de la presentación. Produce una excepción si no hay texto seleccionado.
getSelectedTextRange(): PowerPoint.TextRange;
Devoluciones
Comentarios
[ Conjunto de API: PowerPointApi 1.5 ]
Ejemplos
// 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()
Devuelve el objeto PowerPoint.TextRange seleccionado en la vista actual de la presentación. Si no se selecciona ningún texto, se devuelve un objeto con una isNullObject
propiedad establecida en true
.
getSelectedTextRangeOrNullObject(): PowerPoint.TextRange;
Devoluciones
Comentarios
insertSlidesFromBase64(base64File, options)
Inserta las diapositivas especificadas de una presentación en la presentación actual.
insertSlidesFromBase64(base64File: string, options?: PowerPoint.InsertSlideOptions): void;
Parámetros
- base64File
-
string
Cadena codificada en Base64 que representa el archivo de presentación de origen.
- options
- PowerPoint.InsertSlideOptions
Las opciones que definen qué diapositivas se insertarán, dónde irán las nuevas diapositivas y qué formato de presentación se usará.
Devoluciones
void
Comentarios
[ Conjunto de API: PowerPointApi 1.2 ]
Ejemplos
// 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)
Pone en cola un comando para cargar las propiedades especificadas del objeto. Debe llamar a context.sync()
antes de leer las propiedades.
load(options?: PowerPoint.Interfaces.PresentationLoadOptions): PowerPoint.Presentation;
Parámetros
Proporciona opciones para las propiedades del objeto que se van a cargar.
Devoluciones
load(propertyNames)
Pone en cola un comando para cargar las propiedades especificadas del objeto. Debe llamar a context.sync()
antes de leer las propiedades.
load(propertyNames?: string | string[]): PowerPoint.Presentation;
Parámetros
- propertyNames
-
string | string[]
Una cadena delimitada por comas o una matriz de cadenas que especifican las propiedades que se van a cargar.
Devoluciones
load(propertyNamesAndPaths)
Pone en cola un comando para cargar las propiedades especificadas del objeto. Debe llamar a context.sync()
antes de leer las propiedades.
load(propertyNamesAndPaths?: {
select?: string;
expand?: string;
}): PowerPoint.Presentation;
Parámetros
- propertyNamesAndPaths
-
{ select?: string; expand?: string; }
propertyNamesAndPaths.select
es una cadena delimitada por comas que especifica las propiedades que se van a cargar y propertyNamesAndPaths.expand
es una cadena delimitada por comas que especifica las propiedades de navegación que se van a cargar.
Devoluciones
setSelectedSlides(slideIds)
Selecciona las diapositivas de la vista actual de la presentación. La selección de diapositivas existente se reemplaza por la nueva selección.
setSelectedSlides(slideIds: string[]): void;
Parámetros
- slideIds
-
string[]
Lista de identificadores de diapositiva que se seleccionarán en la presentación. Si la lista está vacía, se borra la selección.
Devoluciones
void
Comentarios
[ Conjunto de API: PowerPointApi 1.5 ]
Ejemplos
// 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()
Invalida el método JavaScript toJSON()
para proporcionar una salida más útil cuando se pasa un objeto de API a JSON.stringify()
. (JSON.stringify
a su vez, llama al toJSON
método del objeto que se le pasa). Mientras que el objeto original PowerPoint.Presentation
es un objeto de API, el toJSON
método devuelve un objeto JavaScript sin formato (escrito como PowerPoint.Interfaces.PresentationData
) que contiene copias superficiales de las propiedades secundarias cargadas del objeto original.
toJSON(): PowerPoint.Interfaces.PresentationData;