PowerPoint.Presentation class
- Extends
Комментарии
[ Набор API: PowerPointApi 1.0 ]
Примеры
// 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();
});
Свойства
context | Контекст запроса, связанный с объектом . Это соединяет процесс надстройки с процессом ведущего приложения Office. |
custom |
Возвращает коллекцию настраиваемых XML-частей, связанных с презентацией. |
id | Возвращает идентификатор презентации. |
properties | Возвращает свойства презентации. |
slide |
Возвращает коллекцию |
slides | Возвращает упорядоченную коллекцию слайдов в презентации. |
tags | Возвращает коллекцию тегов, присоединенных к презентации. |
title |
Методы
get |
Возвращает выбранные фигуры на текущем слайде презентации. Если фигуры не выбраны, возвращается пустая коллекция. |
get |
Возвращает выбранные слайды в текущем представлении презентации. Первым элементом в коллекции является активный слайд, который отображается в области редактирования. Если слайды не выбраны, возвращается пустая коллекция. |
get |
Возвращает выбранный объект PowerPoint.TextRange в текущем представлении презентации. Создает исключение, если текст не выделен. |
get |
Возвращает выбранный объект PowerPoint.TextRange в текущем представлении презентации. Если текст не выбран, возвращается объект со свойством |
insert |
Вставляет указанные слайды из презентации в текущую презентацию. |
load(options) | Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод |
load(property |
Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод |
load(property |
Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод |
set |
Выбирает слайды в текущем представлении презентации. Существующий фрагмент слайда заменяется новым выделением. |
toJSON() | Переопределяет метод JavaScript |
Сведения о свойстве
context
Контекст запроса, связанный с объектом . Это соединяет процесс надстройки с процессом ведущего приложения Office.
context: RequestContext;
Значение свойства
customXmlParts
Примечание
Этот API предоставляется в качестве предварительной версии для разработчиков и может быть изменен на основе полученных нами отзывов. Не используйте этот API в рабочей среде.
Возвращает коллекцию настраиваемых XML-частей, связанных с презентацией.
readonly customXmlParts: PowerPoint.CustomXmlPartCollection;
Значение свойства
Комментарии
[ Набор API: PowerPointApi BETA (ТОЛЬКО ПРЕДВАРИТЕЛЬНАЯ ВЕРСИЯ) ]
id
Возвращает идентификатор презентации.
readonly id: string;
Значение свойства
string
Комментарии
properties
Примечание
Этот API предоставляется в качестве предварительной версии для разработчиков и может быть изменен на основе полученных нами отзывов. Не используйте этот API в рабочей среде.
Возвращает свойства презентации.
readonly properties: PowerPoint.DocumentProperties;
Значение свойства
Комментарии
[ Набор API: PowerPointApi BETA (ТОЛЬКО ПРЕДВАРИТЕЛЬНАЯ ВЕРСИЯ) ]
slideMasters
Возвращает коллекцию SlideMaster
объектов, которые находятся в презентации.
readonly slideMasters: PowerPoint.SlideMasterCollection;
Значение свойства
Комментарии
slides
Возвращает упорядоченную коллекцию слайдов в презентации.
readonly slides: PowerPoint.SlideCollection;
Значение свойства
Комментарии
tags
Возвращает коллекцию тегов, присоединенных к презентации.
readonly tags: PowerPoint.TagCollection;
Значение свойства
Комментарии
title
readonly title: string;
Значение свойства
string
Сведения о методе
getSelectedShapes()
Возвращает выбранные фигуры на текущем слайде презентации. Если фигуры не выбраны, возвращается пустая коллекция.
getSelectedShapes(): PowerPoint.ShapeScopedCollection;
Возвращаемое значение
Комментарии
[ Набор API: PowerPointApi 1.5 ]
Примеры
// 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()
Возвращает выбранные слайды в текущем представлении презентации. Первым элементом в коллекции является активный слайд, который отображается в области редактирования. Если слайды не выбраны, возвращается пустая коллекция.
getSelectedSlides(): PowerPoint.SlideScopedCollection;
Возвращаемое значение
Комментарии
[ Набор API: PowerPointApi 1.5 ]
Примеры
// 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()
Возвращает выбранный объект PowerPoint.TextRange в текущем представлении презентации. Создает исключение, если текст не выделен.
getSelectedTextRange(): PowerPoint.TextRange;
Возвращаемое значение
Комментарии
[ Набор API: PowerPointApi 1.5 ]
Примеры
// 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()
Возвращает выбранный объект PowerPoint.TextRange в текущем представлении презентации. Если текст не выбран, возвращается объект со свойством isNullObject
, для свойства , который имеет значение true
.
getSelectedTextRangeOrNullObject(): PowerPoint.TextRange;
Возвращаемое значение
Комментарии
insertSlidesFromBase64(base64File, options)
Вставляет указанные слайды из презентации в текущую презентацию.
insertSlidesFromBase64(base64File: string, options?: PowerPoint.InsertSlideOptions): void;
Параметры
- base64File
-
string
Строка в кодировке Base64, представляющая исходный файл презентации.
- options
- PowerPoint.InsertSlideOptions
Параметры, определяющие, какие слайды будут вставлены, куда будут идти новые слайды, а также какие будут использоваться форматирование презентации.
Возвращаемое значение
void
Комментарии
[ Набор API: PowerPointApi 1.2 ]
Примеры
// 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)
Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync()
.
load(options?: PowerPoint.Interfaces.PresentationLoadOptions): PowerPoint.Presentation;
Параметры
Предоставляет параметры свойств объекта для загрузки.
Возвращаемое значение
load(propertyNames)
Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync()
.
load(propertyNames?: string | string[]): PowerPoint.Presentation;
Параметры
- propertyNames
-
string | string[]
Строка с разделителями-запятыми или массив строк, указывающих свойства для загрузки.
Возвращаемое значение
load(propertyNamesAndPaths)
Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync()
.
load(propertyNamesAndPaths?: {
select?: string;
expand?: string;
}): PowerPoint.Presentation;
Параметры
- propertyNamesAndPaths
-
{ select?: string; expand?: string; }
propertyNamesAndPaths.select
— это строка с разделителями-запятыми, указывающая загружаемые свойства, и propertyNamesAndPaths.expand
строка с разделителями-запятыми, указывающая загружаемые свойства навигации.
Возвращаемое значение
setSelectedSlides(slideIds)
Выбирает слайды в текущем представлении презентации. Существующий фрагмент слайда заменяется новым выделением.
setSelectedSlides(slideIds: string[]): void;
Параметры
- slideIds
-
string[]
Список идентификаторов слайдов для выбора в презентации. Если список пуст, выделение очищается.
Возвращаемое значение
void
Комментарии
[ Набор API: PowerPointApi 1.5 ]
Примеры
// 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()
Переопределяет метод JavaScript toJSON()
, чтобы обеспечить более полезные выходные данные при передаче объекта API в JSON.stringify()
. (JSON.stringify
в свою очередь вызывает toJSON
метод переданного ему объекта.) В то время как исходный PowerPoint.Presentation
объект является объектом API, toJSON
метод возвращает обычный объект JavaScript (типизированный как PowerPoint.Interfaces.PresentationData
), который содержит неглубокие копии всех загруженных дочерних свойств из исходного объекта.
toJSON(): PowerPoint.Interfaces.PresentationData;
Возвращаемое значение
Office Add-ins