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 = context.presentation;
    const selected = 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.

customXmlParts

Devolve uma coleção de peças XML personalizadas que estão associadas à apresentação.

id

Obtém o ID da apresentação.

slideMasters

Devolve a coleção de SlideMaster objetos que estão na apresentação.

slides

Devolve uma coleção ordenada de diapositivos na apresentação.

tags

Devolve uma coleção de etiquetas anexadas à apresentação.

title

Métodos

getSelectedShapes()

Devolve as formas selecionadas no diapositivo atual da apresentação. Se não forem selecionadas formas, é devolvida uma coleção vazia.

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.

getSelectedTextRange()

Devolve o PowerPoint.TextRange selecionado na vista atual da apresentação. Gera uma exceção se não estiver selecionado texto.

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 .

insertSlidesFromBase64(base64File, options)

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 context.sync() antes de ler as propriedades.

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(propertyNamesAndPaths)

Coloca um comando na fila para carregar as propriedades especificadas do objeto. Você deve chamar context.sync() antes de ler as propriedades.

setSelectedSlides(slideIds)

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 toJSON() para fornecer uma saída mais útil quando um objeto de API é transmitido para JSON.stringify(). (JSON.stringifypor 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.

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

Observação

Esta API é fornecida como uma versão prévia para desenvolvedores e pode ser alterada com base nos comentários que recebemos. Não use esta API em um ambiente de produção.

Devolve uma coleção de peças XML personalizadas que estão associadas à apresentação.

readonly customXmlParts: PowerPoint.CustomXmlPartCollection;

Valor da propriedade

Comentários

[ Conjunto de API: PowerPointApi BETA (APENAS PRÉ-VISUALIZAÇÃO) ]

id

Obtém o ID da apresentação.

readonly id: string;

Valor da propriedade

string

Comentários

[ Conjunto de API: PowerPointApi 1.5 ]

slideMasters

Devolve a coleção de SlideMaster objetos que estão na apresentação.

readonly slideMasters: PowerPoint.SlideMasterCollection;

Valor da propriedade

Comentários

[ Conjunto de API: PowerPointApi 1.3 ]

slides

Devolve uma coleção ordenada de diapositivos na apresentação.

readonly slides: PowerPoint.SlideCollection;

Valor da propriedade

Comentários

[ Conjunto de API: PowerPointApi 1.2 ]

tags

Devolve uma coleção de etiquetas anexadas à apresentação.

readonly tags: PowerPoint.TagCollection;

Valor da propriedade

Comentários

[ Conjunto de API: PowerPointApi 1.3 ]

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 = 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 = 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 = context.presentation.getSelectedSlides();
  const slideCount = slides.getCount();
  slides.load("items");
  await context.sync();
  savedSlideSelection = [];
  slides.items.map((slide) => {
    savedSlideSelection.push(slide.id);
  });
  const shapes = 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 = 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 = 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 = 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 = 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 = context.presentation.slides.getItem(savedTextSlideSelection[0]);
  const shape1 = slide1.shapes.getItem(savedTextShapeSelection[0]);
  const 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

[ Conjunto de API: PowerPointApi 1.5 ]

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 com 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 = context.presentation;
    const selected = 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

options
PowerPoint.Interfaces.PresentationLoadOptions

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 = context.presentation.slides.getItemAt(1);
  const slide4 = context.presentation.slides.getItemAt(3);
  const slide5 = 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.stringifypor 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;

Retornos