Skip to content

演示组件幻灯片操作相关 API

监听上一步动画

Sub.SlideShowOnPrevious

监听上一步动画操作

语法

表达式.Sub.SlideShowOnPrevious = Function

表达式:文档类型应用对象

示例

//@file=base.pptx
async function example() {
  await instance.ready();

  const app = instance.Application;

  // 切换到 PPT 全屏播放状态
  await app.ActivePresentation.SlideShowSettings.Run();

  // 监听上一步动画操作
  app.Sub.SlideShowOnPrevious = async () => {
    console.log('上一步');
  };

  // 3 秒后执行下一步
  setTimeout(async () => {
    await app.ActivePresentation.SlideShowWindow.View.GotoNextClick();
  }, 3000);

  // 5 秒后执行上一步
  setTimeout(async () => {
    await app.ActivePresentation.SlideShowWindow.View.GotoPreClick();
  }, 5000);
}

监听下一步动画

Sub.SlideShowOnNext

监听下一步动画操作

语法

表达式.Sub.SlideShowOnNext = Function

表达式:文档类型应用对象

示例

//@file=base.pptx
async function example() {
  await instance.ready();

  const app = instance.Application;

  // 切换到 PPT 全屏播放状态
  await app.ActivePresentation.SlideShowSettings.Run();

  // 监听下一步动画操作
  app.Sub.SlideShowOnNext = async () => {
    console.log('下一步');
  };

  // 3 秒后执行下一步操作
  setTimeout(async () => {
    await app.ActivePresentation.SlideShowWindow.View.GotoNextClick();
  }, 3000);
}

下一步动画

ActivePresentation.SlideShowWindow.View.GotoNextClick()

切换到下一步动画

语法

表达式.ActivePresentation.SlideShowWindow.View.GotoNextClick()

表达式:文档类型应用对象

示例

//@file=base.pptx
async function example() {
  await instance.ready();

  const app = instance.Application;

  // 切换到 PPT 全屏播放状态
  await app.ActivePresentation.SlideShowSettings.Run();

  // 切换到下一步动画
  setTimeout(async () => {
    await app.ActivePresentation.SlideShowWindow.View.GotoNextClick();
  }, 2000);
}

当前页数量

ActivePresentation.SlideShowWindow.View.GetClickIndex()

返回正在幻灯片上播放或刚刚播放完成的动画的当前鼠标单击的索引号

语法

表达式.ActivePresentation.SlideShowWindow.View.GetClickIndex()

表达式:文档类型应用对象

返回值

返回 Number 类型的值,表示当前鼠标单击动画的索引号。

示例

//@file=base.pptx
async function example() {
  await instance.ready();

  const app = instance.Application;

  // 切换到 PPT 全屏播放状态
  await app.ActivePresentation.SlideShowSettings.Run();

  const index = await app.ActivePresentation.SlideShowWindow.View.GetClickIndex();
  console.log(index);
}

上一步动画

ActivePresentation.SlideShowWindow.View.GotoPreClick()

切换到上一步动画

语法

表达式.ActivePresentation.SlideShowWindow.View.GotoPreClick()

表达式:文档类型应用对象

示例

//@file=base.pptx
async function example() {
  await instance.ready();

  const app = instance.Application;

  // 切换到 PPT 全屏播放状态
  await app.ActivePresentation.SlideShowSettings.Run();

  // 切换到下一步动画
  setTimeout(async () => {
    await app.ActivePresentation.SlideShowWindow.View.GotoPreClick();
  }, 2000);
}

动画总数量

ActivePresentation.SlideShowWindow.View.GetClickCount()

获取当前页幻灯片动画的个数

语法

表达式.ActivePresentation.SlideShowWindow.View.GetClickCount()

表达式:文档类型应用对象

返回值

返回 Number 类型的值表示当前幻灯片对应的动画数。

示例

//@file=base.pptx
async function example() {
  await instance.ready();

  const app = instance.Application;

  // 切换到 PPT 全屏播放状态
  await app.ActivePresentation.SlideShowSettings.Run();

  // 获取当前页幻灯片动画的个数
  const clickCount = await app.ActivePresentation.SlideShowWindow.View.GetClickCount();
  console.log(clickCount);
}

进入全屏

ActivePresentation.SlideShowSettings.Run()

切换到 PPT 全屏播放状态

语法

表达式.ActivePresentation.SlideShowSettings.Run()

表达式:文档类型应用对象

示例

//@file=base.pptx
async function example() {
  await instance.ready();

  const app = instance.Application;

  // Slide 设置对象
  const SlideShowSettings = await app.ActivePresentation.SlideShowSettings;

  // 进入幻灯片播放模式
  await SlideShowSettings.Run();
}

退出全屏

ActivePresentation.SlideShowWindow.View.Exit()

退出 PPT 全屏播放状态

语法

表达式.ActivePresentation.SlideShowWindow.View.Exit()

表达式:文档类型应用对象

示例

//@file=base.pptx
async function example() {
  await instance.ready();

  const app = instance.Application;

  // 切换到幻灯片全屏播放状态
  await app.ActivePresentation.SlideShowSettings.Run();

  // 退出 PPT 全屏播放状态
  setTimeout(async () => {
    await app.ActivePresentation.SlideShowWindow.View.Exit();
  }, 5000);
}

监听退出全屏

Sub.SlideShowEnd

监听退出幻灯片全屏播放

语法

表达式.Sub.SlideShowEnd = Function

表达式:文档类型应用对象

示例

//@file=base.pptx
async function example() {
  await instance.ready();

  const app = instance.Application;

  // 切换到 PPT 全屏播放状态
  await app.ActivePresentation.SlideShowSettings.Run();

  // 监听退出幻灯片全屏播放
  app.Sub.SlideShowEnd = async () => {
    console.log('退出',);
  };

  // 3 秒后退出全屏播放
  setTimeout(async () => {
    await app.ActivePresentation.SlideShowWindow.View.Exit();
  }, 3000);
}

监听进入全屏

Sub.SlideShowBegin

监听进入幻灯片全屏播放

语法

表达式.Sub.SlideShowBegin = Function

表达式:文档类型应用对象

示例

//@file=base.pptx
async function example() {
  await instance.ready();

  const app = instance.Application;

  // 监听进入幻灯片全屏播放
  app.Sub.SlideShowBegin = async () => {
    console.log('进入');
  };

  setTimeout(async () => {
    // 切换到 PPT 全屏播放状态
    await app.ActivePresentation.SlideShowSettings.Run();
  }, 2000);
}

插入新的幻灯片

ActivePresentation.Slides.AddSlide()

JSSDK: v1.1.10+、WebOffice v2.3.1+ 支持

插入新的幻灯片

语法

表达式.ActivePresentation.Slides.AddSlide()

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
Index
number
新幻灯片插入的位置,不传或参数小于0时插入到当前幻灯片的后面
CustomLayout
object
本地版式的类型,不传时默认插入空白幻灯片
LayoutUrl
string
在线ppt文件的链接,如传递了该参数,layoutType会被忽略,优先用在线ppt文件内的版式,并返回一个promise通知结果
LayoutIndex
number
表示新建幻灯片需要使用在线文件的第几个版式,layoutUrl不传时,该参数无效

示例

//@file=base.ppt
async function example() {
  await instance.ready();

  const app = instance.Application;
  // 插入新的空白幻灯片
  const Index = await app.ActivePresentation.SlideShowWindow.View.Slide.SlideIndex;

  await app.ActivePresentation.Slides.AddSlide(Index);
}

打开关闭播放缩略图的方法

ActivePresentation.SlideShowSettings.SetMiniThumbnailVisible()

打开/关闭播放缩略图的方法

语法

表达式.ActivePresentation.SlideShowSettings.SetMiniThumbnailVisible()

表达式:文档类型应用对象

参数

传入一个布尔值,表明打开或者关闭缩略图。

属性数据类型默认值必填说明
Visible
Boolean
false
是否打开

示例

//@file=base.pptx
async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 打开缩略图
  await app.ActivePresentation.SlideShowSettings.SetMiniThumbnailVisible(true);
}

修改画笔工具样式

ActivePresentation.SlideShowSettings.SetPlayInkPosition()

JSSDK: v1.1.14+、WebOffice v2.4.1+ 支持

【播放模式】修改画笔工具样式

语法

表达式.ActivePresentation.SlideShowSettings.SetPlayInkPosition({ Style })

表达式:文档类型应用对象

参数

传入一个布尔值,表明打开或者关闭缩略图。

属性数据类型默认值必填说明
Style
Object
样式,传入参数类似为 { left: "100px" }

示例

//@file=base.pptx
async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // Slide 设置对象
  const SlideShowSettings = await app.ActivePresentation.SlideShowSettings;

  // 进入幻灯片播放模式
  await SlideShowSettings.Run();

  // 修改画笔工具样式
  await SlideShowSettings.SetPlayInkPosition({
    Style: { background: 'deepskyblue' }, // 画笔工具样式
  });
}

修改工具栏样式

ActivePresentation.SlideShowSettings.SetPlayToolbarPosition()

JSSDK: v1.1.14+、WebOffice v2.4.1+ 支持

【播放模式】修改工具栏样式

注意:该 API 自由度很高,为了避免样式的修改影响功能使用,请尽量使用 topleftrightbottomtranslate 修改样式

语法

表达式.ActivePresentation.SlideShowSettings.SetPlayToolbarPosition({ Style })

表达式:文档类型应用对象

参数

传入一个布尔值,表明打开或者关闭缩略图。

属性数据类型默认值必填说明
Style
Object
样式

Style 说明

属性数据类型说明
Show
Object
显示时的样式,传入参数类似为 { left: "100px" }
Hidden
Object
隐藏时的样式

示例

//@file=base.pptx
async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // Slide 设置对象
  const SlideShowSettings = await app.ActivePresentation.SlideShowSettings;

  // 进入幻灯片播放模式
  await SlideShowSettings.Run();

  // 修改工具栏样式
  await SlideShowSettings.SetPlayToolbarPosition({
    Style: {
      Show: { top: '10px' }, // style 样式,工具栏显示时的位置
      Hidden: { top: '-100px' }, // style 样式,工具栏隐藏时的位置
    },
  });
}

打开备注视图

ActivePresentation.SlideShowSettings.OpenRemarkSpeaker()

JSSDK: v1.1.14+、WebOffice v2.4.1+ 支持

【播放模式】打开备注视图

语法

表达式.ActivePresentation.SlideShowSettings.OpenRemarkSpeaker()

表达式:文档类型应用对象

示例

//@file=base.pptx
async function example() {
  await instance.ready();

  const app = instance.Application;

  // Slide 设置对象
  const SlideShowSettings = await app.ActivePresentation.SlideShowSettings;

  // 进入幻灯片播放模式
  await SlideShowSettings.Run();

  // 打开备注视图
  await SlideShowSettings.OpenRemarkSpeaker();
}

显示隐藏工具栏

ActivePresentation.SlideShowSettings.ShowPlayToolbar

JSSDK: v1.1.14+、WebOffice v2.4.1+ 支持

【播放模式】显示/隐藏工具栏

语法

表达式.ActivePresentation.SlideShowSettings.ShowPlayToolbar

表达式:文档类型应用对象

示例

//@file=base.pptx
async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 显示隐藏工具栏
  app.ActivePresentation.SlideShowSettings.ShowPlayToolbar = false;
}

显示隐藏页码

ActivePresentation.SlideShowWindow.View.ShowPage

JSSDK: v1.1.11+、WebOffice v2.4.1+ 支持

【播放模式】PC 端设置页码显示隐藏

语法

表达式.ActivePresentation.SlideShowWindow.View.ShowPage

表达式:文档类型应用对象

示例

//@file=base.ppt
async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 窗口对象
  const SlideShowWindow = await app.ActivePresentation.SlideShowWindow;

  // 视图对象
  const view = await SlideShowWindow.View;

  // 【播放模式】显示页码
  view.ShowPage = true;
}

开启自动播放

ActivePresentation.SlideShowSettings.StartAutoPlay()

JSSDK: v1.1.14+、WebOffice v2.4.1+ 支持

【播放模式】开启自动播放

语法

表达式.ActivePresentation.SlideShowSettings.StartAutoPlay()

表达式:文档类型应用对象

示例

//@file=base.pptx
async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // Slide 设置对象
  const SlideShowSettings = await app.ActivePresentation.SlideShowSettings;

  // 进入幻灯片播放模式
  await SlideShowSettings.Run();

  // 开启自动播放
  await SlideShowSettings.StartAutoPlay();
}

打开倒计时

ActivePresentation.SlideShowSettings.SetCountDown()

【播放模式】打开倒计时

语法

表达式.ActivePresentation.SlideShowSettings.SetCountDown()

表达式:文档类型应用对象

示例

//@file=base.pptx
async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // Slide 设置对象
  const SlideShowSettings = await app.ActivePresentation.SlideShowSettings;

  // 进入幻灯片播放模式
  await SlideShowSettings.Run();

  // 打开倒计时
  await SlideShowSettings.SetCountDown();
}

打开关闭画笔

ActivePresentation.SetOpenMarkerInkEdit()

JSSDK: v1.1.10+、WebOffice v2.3.1+ 支持

开启画笔或者保存画笔并退出

语法

表达式.ActivePresentation.SetOpenMarkerInkEdit({ Open })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
Open
Boolean
true
是否需要开启画笔(true),还是保存并关闭画笔(false)

示例

//@file=base.ppt
async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 开启画笔
  await app.ActivePresentation.SetOpenMarkerInkEdit(true);

  setTimeout(async () => {
    // 保存画笔并关闭
    await app.ActivePresentation.SetOpenMarkerInkEdit(false);
  }, 5000);
}

幻灯片对象

ActivePresentation.Slides

幻灯片对象

语法

表达式.ActivePresentation.Slides

表达式:文档类型应用对象

示例

//@file=base.pptx
async function example() {
  await instance.ready();

  const app = instance.Application;
  
  // 演示文稿对象
  const presentation = await app.ActivePresentation;

  // 幻灯片对象
  const view = await presentation.Slides;
}

幻灯片播放状态

ActivePresentation.SlideShowWindow.View.State

获取当前幻灯片播放状态

语法

表达式.ActivePresentation.SlideShowWindow.View.State

表达式:文档类型应用对象

返回值

属性数据类型说明
state
String
edit-编辑;play-播放;masterView-母版视图

示例

//@file=base.pptx
async function example() {
  await instance.ready();

  const app = instance.Application;

  // 获取状态
  const getState = () => {
    return app.ActivePresentation.SlideShowWindow.View.State;
  };

  // 获取当前幻灯片播放状态
  let currentState = await getState();
  console.log(currentState); // 'edit'

  // 切换到 PPT 全屏播放状态
  await app.ActivePresentation.SlideShowSettings.Run();
  currentState = await getState();
  console.log(currentState); // 'play'
}