PowerPoint.Presentation class
- Extends
Comentários
[ Conjunto de API: PowerPointApi 1.0 ]
Exemplos
// 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();
});
Propriedades
context | O contexto do pedido associado ao objeto . Esta ação liga o processo do suplemento ao processo da aplicação anfitriã do Office. |
custom |
Devolve uma coleção de peças XML personalizadas que estão associadas à apresentação. |
id | Obtém o ID da apresentação. |
properties | Obtém as propriedades da apresentação. |
slide |
Devolve a coleção de |
slides | Devolve uma coleção ordenada de diapositivos na apresentação. |
tags | Devolve uma coleção de etiquetas anexadas à apresentação. |
title |
Métodos
get |
Devolve as formas selecionadas no diapositivo atual da apresentação. Se não forem selecionadas formas, é devolvida uma coleção vazia. |
get |
Devolve os diapositivos selecionados na vista atual da apresentação. O primeiro item na coleção é o diapositivo ativo que está visível na área de edição. Se não estiverem selecionados diapositivos, é devolvida uma coleção vazia. |
get |
Devolve o PowerPoint.TextRange selecionado na vista atual da apresentação. Gera uma exceção se não estiver selecionado texto. |
get |
Devolve o PowerPoint.TextRange selecionado na vista atual da apresentação. Se não estiver selecionado texto, é devolvido um objeto com uma |
insert |
Insere os diapositivos especificados de uma apresentação na apresentação atual. |
load(options) | Coloca um comando na fila para carregar as propriedades especificadas do objeto. Você deve chamar |
load(property |
Coloca um comando na fila para carregar as propriedades especificadas do objeto. Você deve chamar |
load(property |
Coloca um comando na fila para carregar as propriedades especificadas do objeto. Você deve chamar |
set |
Seleciona os diapositivos na vista atual da apresentação. A seleção de diapositivos existente é substituída pela nova seleção. |
toJSON() | Substitui o método JavaScript |
Detalhes da propriedade
context
O contexto do pedido associado ao objeto . Esta ação liga o processo do suplemento ao processo da aplicação anfitriã do Office.
context: RequestContext;
Valor da propriedade
customXmlParts
Devolve uma coleção de peças XML personalizadas que estão associadas à apresentação.
readonly customXmlParts: PowerPoint.CustomXmlPartCollection;
Valor da propriedade
Comentários
id
Obtém o ID da apresentação.
readonly id: string;
Valor da propriedade
string
Comentários
properties
Obtém as propriedades da apresentação.
readonly properties: PowerPoint.DocumentProperties;
Valor da propriedade
Comentários
slideMasters
Devolve a coleção de SlideMaster
objetos que estão na apresentação.
readonly slideMasters: PowerPoint.SlideMasterCollection;
Valor da propriedade
Comentários
slides
Devolve uma coleção ordenada de diapositivos na apresentação.
readonly slides: PowerPoint.SlideCollection;
Valor da propriedade
Comentários
tags
Devolve uma coleção de etiquetas anexadas à apresentação.
readonly tags: PowerPoint.TagCollection;
Valor da propriedade
Comentários
title
readonly title: string;
Valor da propriedade
string
Detalhes do método
getSelectedShapes()
Devolve as formas selecionadas no diapositivo atual da apresentação. Se não forem selecionadas formas, é devolvida uma coleção vazia.
getSelectedShapes(): PowerPoint.ShapeScopedCollection;
Retornos
Comentários
[ Conjunto de API: PowerPointApi 1.5 ]
Exemplos
// 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()
Devolve os diapositivos selecionados na vista atual da apresentação. O primeiro item na coleção é o diapositivo ativo que está visível na área de edição. Se não estiverem selecionados diapositivos, é devolvida uma coleção vazia.
getSelectedSlides(): PowerPoint.SlideScopedCollection;
Retornos
Comentários
[ Conjunto de API: PowerPointApi 1.5 ]
Exemplos
// 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()
Devolve o PowerPoint.TextRange selecionado na vista atual da apresentação. Gera uma exceção se não estiver selecionado texto.
getSelectedTextRange(): PowerPoint.TextRange;
Retornos
Comentários
[ Conjunto de API: PowerPointApi 1.5 ]
Exemplos
// 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()
Devolve o PowerPoint.TextRange selecionado na vista atual da apresentação. Se não estiver selecionado texto, é devolvido um objeto com uma isNullObject
propriedade definida como true
.
getSelectedTextRangeOrNullObject(): PowerPoint.TextRange;
Retornos
Comentários
insertSlidesFromBase64(base64File, options)
Insere os diapositivos especificados de uma apresentação na apresentação atual.
insertSlidesFromBase64(base64File: string, options?: PowerPoint.InsertSlideOptions): void;
Parâmetros
- base64File
-
string
A cadeia codificada em Base64 que representa o ficheiro de apresentação de origem.
- options
- PowerPoint.InsertSlideOptions
As opções que definem os diapositivos que serão inseridos, para onde irão os novos diapositivos e qual a formatação da apresentação que será utilizada.
Retornos
void
Comentários
[ Conjunto de API: PowerPointApi 1.2 ]
Exemplos
// 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)
Coloca um comando na fila para carregar as propriedades especificadas do objeto. Você deve chamar context.sync()
antes de ler as propriedades.
load(options?: PowerPoint.Interfaces.PresentationLoadOptions): PowerPoint.Presentation;
Parâmetros
Fornece opções para as propriedades do objeto a carregar.
Retornos
load(propertyNames)
Coloca um comando na fila para carregar as propriedades especificadas do objeto. Você deve chamar context.sync()
antes de ler as propriedades.
load(propertyNames?: string | string[]): PowerPoint.Presentation;
Parâmetros
- propertyNames
-
string | string[]
Uma cadeia delimitada por vírgulas ou uma matriz de cadeias que especificam as propriedades a carregar.
Retornos
load(propertyNamesAndPaths)
Coloca um comando na fila para carregar as propriedades especificadas do objeto. Você deve chamar context.sync()
antes de ler as propriedades.
load(propertyNamesAndPaths?: {
select?: string;
expand?: string;
}): PowerPoint.Presentation;
Parâmetros
- propertyNamesAndPaths
-
{ select?: string; expand?: string; }
propertyNamesAndPaths.select
é uma cadeia delimitada por vírgulas que especifica as propriedades a carregar e propertyNamesAndPaths.expand
é uma cadeia delimitada por vírgulas que especifica as propriedades de navegação a carregar.
Retornos
setSelectedSlides(slideIds)
Seleciona os diapositivos na vista atual da apresentação. A seleção de diapositivos existente é substituída pela nova seleção.
setSelectedSlides(slideIds: string[]): void;
Parâmetros
- slideIds
-
string[]
Lista de IDs de diapositivos a selecionar na apresentação. Se a lista estiver vazia, a seleção será desmarcada.
Retornos
void
Comentários
[ Conjunto de API: PowerPointApi 1.5 ]
Exemplos
// 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()
Substitui o método JavaScript toJSON()
para fornecer uma saída mais útil quando um objeto de API é transmitido para JSON.stringify()
. (JSON.stringify
por sua vez, chama o toJSON
método do objeto que lhe é transmitido.) Enquanto o objeto original PowerPoint.Presentation
é um objeto de API, o toJSON
método devolve um objeto JavaScript simples (escrito como PowerPoint.Interfaces.PresentationData
) que contém cópias rasas de quaisquer propriedades subordinadas carregadas do objeto original.
toJSON(): PowerPoint.Interfaces.PresentationData;