Skip to content

事件

ActiveSlideChange

监听页面跳转

语法

表达式.Sub.ActiveSlideChange = eventHandle

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

示例

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

  const app = instance.Application

  // 监听页面跳转
  app.Sub.ActiveSlideChange = async curryPage => {
    console.log('切换到:', curryPage)
  }
}

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

LastSlideEnd

JSSDK: v1.1.14+、WebOffice v3.2.1+ 支持

监听放映到最后时发送通知

语法

表达式.Sub.LastSlideEnd = eventHandle

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

示例

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

  const app = instance.Application

  // 监听事件
  app.Sub.LastSlideEnd = Date => {
    console.log('监听放映到最后时发送通知:', Data)
  }
}

OnDiagramMount

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

仅支持 PC 端

监听关系图的挂载和卸载

操作方式:

  1. 注册事件 Sub.OnDiagramMount
  2. 选中关系图,触发挂载监听
  3. 取消选中关系图,触发卸载监听

语法

表达式.Sub.OnDiagramMount = eventHandle

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

示例

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

  const app = instance.Application

  // 监听关系图的挂载和卸载
  app.Sub.OnDiagramMount = d => {
    console.log('监听关系图挂载和卸载:', d)
  }
}

OnDiagramToggleBtns

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

仅支持 PC 端

监听关系图移动和缩放

操作方式:

  1. 注册事件 Sub.OnDiagramToggleBtns
  2. 选中关系图
  3. 移动和停止移动触发事件,打印信息(根据移动和停止的监听,控制按钮组样式、项数、颜色的显示隐藏)
  4. 缩放关系图触发事件,打印信息(根据缩放和停止缩放的监听,控制按钮组样式、项数、颜色的显示隐藏)

语法

表达式.Sub.OnDiagramToggleBtns = eventHandle

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

示例

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

  const app = instance.Application

  // 监听关系图移动和缩放
  app.Sub.OnDiagramToggleBtns = d => {
    console.log('监听关系图移动和缩放:', d)
  }
}

PresentationNewSlide

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

监听 PPT 的新增操作

语法

表达式.Sub.PresentationNewSlide = eventHandle

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

示例

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

  const app = instance.Application

  // 监听 PPT 的新增操作
  app.Sub.PresentationNewSlide = d => {
    console.log('监听 PPT 的新增操作:', d)
  }
}

SlideChangeOperator

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

监听服务端幻灯片更新后通知当前操作者(用户新增、移动、删除幻灯片后触发)

语法

表达式.Sub.SlideChangeOperator = eventHandle

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

示例

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

  const app = instance.Application

  // 监听事件
  app.Sub.SlideChangeOperator = Date => {
    console.log(
      '监听服务端幻灯片更新后通知当前操作者(用户新增、移动、删除幻灯片后触发):',
      Data
    )
  }
}

SlideDelete

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

监听 PPT 的删除操作

语法

表达式.Sub.SlideDelete = eventHandle

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

示例

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

  const app = instance.Application

  // 监听 PPT 的删除操作
  app.Sub.SlideDelete = d => {
    console.log('监听 PPT 的删除操作:', d)
  }
}

SlideInkToolbarVisible

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

仅支持 PC 端

监听 是否使用激光笔和标注

语法

表达式.Sub.SlideInkToolbarVisible = eventHandle

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

示例

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

  const app = instance.Application

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

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

  // 监听 是否使用激光笔和标注
  app.Sub.SlideInkToolbarVisible = ({ Data }) => {
    console.log('监听 是否使用激光笔和标注:', Data)
  }

  // 设置标记工具栏出现
  view.MarkerEditVisible = true
}

SlideInkVisible

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

仅支持 PC 端

监听 是否显示标注内容

语法

表达式.Sub.SlideInkVisible = eventHandle

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

示例

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

  const app = instance.Application

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

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

  // 监听 是否显示标注内容
  app.Sub.SlideInkVisible = ({ Data }) => {
    console.log('监听 是否显示标注内容:', Data)

    if (Data.showmark) {
      setTimeout(() => {
        view.PointerVisible = false
      }, 2000)
    }
  }
}

SlideLaserPenInkPointsChanged

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

仅支持 PC 端

监听 发送激光笔的墨迹

语法

表达式.Sub.SlideLaserPenInkPointsChanged = eventHandle

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

示例

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

  const app = instance.Application

  // 监听 发送激光笔的墨迹
  app.Sub.SlideLaserPenInkPointsChanged = ({ Data }) => {
    console.log('监听 发送激光笔的墨迹:', Data)
  }
}

SlideMediaChanged

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

监听 视频播放状态改变

语法

表达式.Sub.SlideMediaChanged = eventHandle

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

示例

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

  const app = instance.Application

  // 监听 视频播放状态改变
  app.Sub.SlideMediaChanged = ({ Data }) => {
    console.log('监听 视频播放状态改变:', Data)
  }
}

SlideMove

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

监听 PPT 的移动

语法

表达式.Sub.SlideMove = eventHandle

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

示例

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

  const app = instance.Application

  // 监听 PPT 的移动
  app.Sub.SlideMove = d => {
    console.log('监听 PPT 的移动:', d)
  }
}

SlidePlayerChange

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

监听 播放状态改变

语法

表达式.Sub.SlidePlayerChange = eventHandle

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

示例

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

  const app = instance.Application

  // 监听 播放状态改变
  app.Sub.SlidePlayerChange = ({ Data }) => {
    console.log('监听 播放状态改变:', Data)
  }
}

SlideSelectionChanged

监听当前页改变事件

语法

表达式.Sub.SlideSelectionChanged = eventHandle

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

示例

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

  const app = instance.Application

  // 监听当前页改变事件
  app.Sub.SlideSelectionChanged = async curryPage => {
    console.log('切换到:', curryPage)
  }
}

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

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

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

TriggerPlayEvent

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

触发器动画事件

语法

表达式.Sub.TriggerPlayEvent = eventHandle

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

示例

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

  const app = instance.Application

  // 触发器动画事件
  app.Sub.TriggerPlayEvent = curryPage => {
    console.log('触发器动画:', curryPage)
  }
}

VideoFullscreenInfo

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

仅支持 PC 端

演示视频进入/退出全屏播放的事件监听

语法

表达式.Sub.VideoFullscreenInfo = eventHandle

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

示例

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

  const app = instance.Application

  // 演示视频进入/退出全屏播放的事件监听
  app.Sub.VideoFullscreenInfo = async () => {
    console.log('全屏状态切换')
  }
}