Skip to main content

duplicateSlide

This function duplicates the specified slide in the current presentation.

Prompts

  • Duplicate slide 8

Function registration

(function () {
let func = new RegisteredFunction({
name: "duplicateSlide",
description: "Duplicates slide with the specific index or current",
parameters: {
type: "object",
properties: {
slideNumber: {
type: "number",
description: "the slide number to duplicate",
minimum: 1,
},
},
required: [],
},
examples: [
{
prompt: "duplicate slide 3",
arguments: { slideNumber: 3 },
},

{
prompt: "duplicate slide",
arguments: {},
},
],
});
return func;
})();

Parameters

NameTypeExampleDescription
slideNumbernumber2The number of the slide to duplicate.

Function execution

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 slideIdx = slide.GetSlideIndex();
if (slide) {
slide.Duplicate(slideIdx + 1);
return { idx: slideIdx + 1 };
}
return null;
});
if (data) {
await Asc.Editor.callMethod("GoToSlide", [data["idx"] + 1]);
}
};

Methods used: GetPresentation, GetSlideByIndex, Duplicate, Asc.scope object

Result