PowerPoint.Presentation class
El Presentation objeto es el objeto de nivel superior con una o varias diapositivas que contienen el contenido de la presentación. Para obtener más información sobre el modelo de objetos de PowerPoint, consulte Modelo de objetos JavaScript de PowerPoint.
- 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
| bindings | Devuelve una colección de enlaces asociados a la presentación. |
| context | Contexto de solicitud asociado al objeto . Esto conecta el proceso del complemento al proceso de la aplicación host de Office. |
| custom |
Devuelve una colección de elementos XML personalizados asociados a la presentación. |
| id | Obtiene el identificador de la presentación. |
| page |
Devuelve la información de configuración de página cuyas propiedades controlan los atributos de configuración de diapositivas para la presentación. |
| properties | Obtiene las propiedades 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 | Devuelve el título de la presentación. |
Métodos
| get |
Devuelve el elemento PowerPoint.Slide activo actual que está visible en el área de edición. Si no hay ninguna diapositiva activa, se devuelve un objeto con una |
| 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
bindings
Devuelve una colección de enlaces asociados a la presentación.
readonly bindings: PowerPoint.BindingCollection;
Valor de propiedad
Comentarios
[ Conjunto de API: PowerPointApi 1.8 ]
Ejemplos
// 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
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
customXmlParts
Devuelve una colección de elementos XML personalizados asociados a la presentación.
readonly customXmlParts: PowerPoint.CustomXmlPartCollection;
Valor de propiedad
Comentarios
id
Obtiene el identificador de la presentación.
readonly id: string;
Valor de propiedad
string
Comentarios
pageSetup
Nota
Esta API se ofrece a los desarrolladores como versión preliminar y puede cambiar en función de los comentarios que recibamos. No utilice esta API en un entorno de producción.
Devuelve la información de configuración de página cuyas propiedades controlan los atributos de configuración de diapositivas para la presentación.
readonly pageSetup: PowerPoint.PageSetup;
Valor de propiedad
Comentarios
[ Conjunto de API: PowerPointApi BETA (SOLO VERSIÓN PRELIMINAR) ]
properties
Obtiene las propiedades de la presentación.
readonly properties: PowerPoint.DocumentProperties;
Valor de propiedad
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
Devuelve el título de la presentación.
readonly title: string;
Valor de propiedad
string
Comentarios
Detalles del método
getActiveSlideOrNullObject()
Nota
Esta API se ofrece a los desarrolladores como versión preliminar y puede cambiar en función de los comentarios que recibamos. No utilice esta API en un entorno de producción.
Devuelve el elemento PowerPoint.Slide activo actual que está visible en el área de edición. Si no hay ninguna diapositiva activa, se devuelve un objeto con una isNullObject propiedad establecida en true . Para obtener más información, vea *OrNullObject methods and properties( Métodos y propiedades de *OrNullObject).
getActiveSlideOrNullObject(): PowerPoint.Slide;
Devoluciones
Comentarios
[ Conjunto de API: PowerPointApi BETA (SOLO VERSIÓN PRELIMINAR) ]
Ejemplos
// 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()
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>";
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()
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}`;
});
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()
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 +=
"<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()
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 . Para obtener más información, vea *OrNullObject methods and properties( Métodos y propiedades de *OrNullObject).
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.stringifya 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;