跳到主要内容

添加新幻灯片

此函数使用当前幻灯片母版的默认版式,在演示文稿末尾添加一张新幻灯片。

提示词

  • 添加新幻灯片

函数注册

(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;
})();

函数执行

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);
});
};

使用的方法:GetPresentation, GetCurrentSlide, GetSlideByIndex, GetLayout, GetMaster, GetLayoutByType, GetLayoutsCount, GetLayout, CreateSlide, ApplyLayout, AddSlide

结果