删除幻灯片
此函数从当前演示文稿中删除指定的幻灯片。
提示词
- 删除第 8 张幻灯片
函数注册
(function () {
let func = new RegisteredFunction({
name: "deleteSlide",
description: "Deletes slide with the specific index or current",
parameters: {
type: "object",
properties: {
slideNumber: {
type: "number",
description: "the slide number to delete",
minimum: 1,
},
},
required: [],
},
examples: [
{
prompt: "delete slide 5",
arguments: { slideNumber: 5 },
},
{
prompt: "delete slide",
arguments: {},
},
],
});
return func;
})();
参数
| Name | Type | Example | Description |
|---|---|---|---|
| slideNumber | number | 2 | 要删除的幻灯片编号。 |
函数执行
func.call = async function (params) {
Asc.scope.slideNum = params.slideNumber;
let data = await Asc.Editor.callCommand(function () {
let presentation = Api.GetPresentation();
let slide;
if (Asc.scope.slideNum !== undefined && Asc.scope.slideNum !== null) {
slide = presentation.GetSlideByIndex(Asc.scope.slideNum - 1);
}
if (!slide) slide = presentation.GetCurrentSlide();
if (!slide) {
return null;
}
let curSlideIdx = presentation.GetCurSlideIndex();
let slideIdx = slide.GetSlideIndex();
slide.Delete();
return { curSlideIdx: curSlideIdx, slideIdx: slideIdx };
});
if (data) {
if (data["slideIdx"] <= data["curSlideIdx"]) {
await Asc.Editor.callMethod("GoToSlide", [data["curSlideIdx"]]);
}
}
};
使用的方法:GetPresentation, GetSlideByIndex, Delete, Asc.scope object