跳到主要内容

addNewSlide

This function adds a new slide at the end of presentation using default layout from the current slide's master.

Prompts

  • Add a new slide

Function registration

(function () {
let func = new RegisteredFunction({
name: "addNewSlide",
description:
"Adds a new slide at the end of presentation using default layout from current slide's master",
parameters: {
type: "object",
properties: {},
required: [],
},
examples: [
{
prompt: "Add new slide",
arguments: {},
},
],
});

return func;
})();

Function execution

func.call = async function (params) {
Asc.scope.params = params;

await Asc.Editor.callCommand(function () {
let presentation = Api.GetPresentation();
let currentSlide = presentation.GetCurrentSlide();
let master;

if (!currentSlide) {
currentSlide = presentation.GetSlideByIndex(0);
let curLayout = currentSlide.GetLayout();
master = curLayout.GetMaster();
} else {
master = presentation.GetMasterByIndex(0);
}

if (!master) return;

let layout = master.GetLayoutByType("obj");
if (!layout) {
let layoutsCount = master.GetLayoutsCount();
if (layoutsCount > 0) {
layout = master.GetLayout(0);
}
}

if (!layout) return;

let newSlide = Api.CreateSlide();
newSlide.ApplyLayout(layout);
presentation.AddSlide(newSlide);
});
};

Methods used: GetPresentation, GetCurrentSlide, GetSlideByIndex, GetLayout, GetMaster, GetLayoutByType, GetLayoutsCount, GetLayout, CreateSlide, ApplyLayout, AddSlide

Result