Skip to content

视图

View

代表幻灯片放映窗口中的视图

语法

表达式.ActivePresentation.SlideShowWindow.View

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

示例

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

  const app = instance.Application

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

  // 放映窗口对象
  const slideShowWindow = await presentation.SlideShowWindow

  // 放映窗口中的视图对象
  const slideShowView = await slideShowWindow.View
}

CoreReadonly

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

是否进入预览模式

语法

表达式.ActivePresentation.SlideShowWindow.View.CoreReadonly

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

示例

//@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.CoreReadonly = true
}

IsBanSlideChange

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

是否禁止翻页

语法

表达式.ActivePresentation.SlideShowWindow.View.IsBanSlideChange

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

示例

//@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.IsBanSlideChange = true

  setTimeout(() => {
    // 允许翻页
    view.IsBanSlideChange = false
  }, 3000)
}

MarkerEditVisible

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

设置打开标注工具栏

语法

表达式.ActivePresentation.SlideShowWindow.View.MarkerEditVisible

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

示例

//@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.MarkerEditVisible = true

  setTimeout(() => {
    // 关闭标注工具栏
    view.MarkerEditVisible = false
  }, 3000)
}

PointerVisible

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

设置是否显示标注内容

语法

表达式.ActivePresentation.SlideShowWindow.View.PointerVisible

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

示例

//@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 = async e => {
    const { Data } = e
    console.log(Data.showmark)

    setTimeout(() => {
      // 设置标注内容的显示隐藏
      view.PointerVisible = !Data.showmark
    }, 3000)
  }
}

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
}

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

DestroyMediaPlayer()

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

设置销毁视频播放工具(移动端)

语法

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

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

示例

//@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.SlideMediaChanged = async e => {
    const { Data } = e
    console.log(Data)
    setTimeout(async () => {
      // 3s后销毁视频播放工具
      await view.DestroyMediaPlayer(Data)
    }, 3000)
  }
}

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

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

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

GotoClick()

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

执行跳转幻灯片动画

语法

表达式.ActivePresentation.SlideShowWindow.View.GotoClick(number)

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

参数

属性数据类型说明
number
Number
当前幻灯片动画的下标

示例

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

  const app = instance.Application

  // Slide设置对象
  const SlideShowSettings = await app.ActivePresentation.SlideShowSettings
  // 进入幻灯片播放模式
  await SlideShowSettings.Run()

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

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

  // 执行跳转幻灯片第二个动画
  await view.GotoClick(2)
}

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

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

GotoSlide()

跳转到指定页

语法

表达式.ActivePresentation.SlideShowWindow.View.GotoSlide({ Index })

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

参数

属性数据类型默认值必填说明
Index
Number
跳转第 Index 个页面

示例

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

  const app = instance.Application

  // 跳转到指定页
  await app.ActivePresentation.SlideShowWindow.View.GotoSlide(3)
}

Play()

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

播放幻灯片

语法

表达式.ActivePresentation.SlideShowWindow.View.Play(slideIndex, animateIndex)

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

参数

属性数据类型说明
slideIndex
Number
当前幻灯片的下标
animateIndex
Number
当前幻灯片动画的下标

示例

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

  const app = instance.Application

  // Slide设置对象
  const SlideShowSettings = await app.ActivePresentation.SlideShowSettings
  // 进入幻灯片播放模式
  await SlideShowSettings.Run()

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

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

  // 从第一张幻灯片的第一个动画开始播放
  await view.Play(1, 1)
}

SetLaserPenData()

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

观众同步激光笔信息

语法

表达式.ActivePresentation.SlideShowWindow.View.SetLaserPenData(Data)

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

参数

属性数据类型说明
Data
Object
激光笔信息

示例

//@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.SlideLaserPenInkPointsChanged = async e => {
    const { Data } = e
    console.log(Data)

    // 同步激光笔信息
    await view.SetLaserPenData(Data)
  }
}

SetMediaObj()

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

观众同步视频播放信息

语法

表达式.ActivePresentation.SlideShowWindow.View.SetMediaObj(Data)

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

参数

属性数据类型说明
Data
Object
视频播放信息

示例

//@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.SlideMediaChanged = async e => {
    const { Data } = e
    console.log(Data)

    // 同步视频播放信息
    await view.SetMediaObj(Data)
  }
}

SetToolVisible()

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

设置进入播放模式后隐藏指定的 tool

语法

表达式.ActivePresentation.SlideShowWindow.View.SetToolVisible(toolName, flag)

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

参数

属性数据类型说明
toolName
String
需要操作的 tool 的名称
flag
Boolean
显示还是隐藏

示例

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

  const app = instance.Application

  // Slide设置对象
  const SlideShowSettings = await app.ActivePresentation.SlideShowSettings
  // 进入幻灯片播放模式
  await SlideShowSettings.Run()

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

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

  const linkTip = app.Enum.PpToolType.pcPlayHoverLink // hover超链接
  const imageTip = app.Enum.PpToolType.pcImageHoverTip // hover 图片
  const menu = app.Enum.PpToolType.pcPlayingMenu // 右键菜单

  // 2s后设置隐藏
  setTimeout(() => {
    // 设置进入播放模式后隐藏指定的tool
    view.SetToolVisible(linkTip, false)
    view.SetToolVisible(imageTip, false)
    view.SetToolVisible(menu, false)
  }, 2000)
}