主题
演示组件幻灯片操作相关 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 自由度很高,为了避免样式的修改影响功能使用,请尽量使用
top、left、right、bottom、translate修改样式
语法 #
表达式.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'
}