返回介绍

在幻灯片中使用 ActiveX 控件

发布于 2019-10-04 14:06:01 字数 1752 浏览 1141 评论 0 收藏 0

全部显示

可以在幻灯片中添加控件,从而提供一种完善的方法在幻灯片放映时与用户交换信息。例如,在为展台所设计的幻灯片中可以使用控件,使观众能选择选项,然后基于观众的选项运行自定义放映。

有关添加和使用控件的一般信息,请参阅在文档中使用 ActiveX 控件和创建自定义对话框。

在幻灯片中使用控件时,请记住以下几点:

  • 除了在幻灯片放映运行时,幻灯片中的控件都处于设计模式。
  • 如果希望控件显示在演示文稿的所有幻灯片中,可以将其添加到幻灯片母版中。
  • 幻灯片中控件事件过程的Me 关键字指向幻灯片,而非控件。

为幻灯片的控件编写事件代码与为窗体的控件编写事件代码非常类似。单击幻灯片按钮“cmdChangeColor”时,以下过程设置该按钮所在的幻灯片的背景为激活状态。

Private Sub cmdChangeColor_Click()
 With Me
 .FollowMasterBackground = Not .FollowMasterBackground
 .Background.Fill.PresetGradient _
 msoGradientHorizontal, 1, msoGradientBrass
 End With
End Sub

您可能需要使用控件为幻灯片提供比 Microsoft PowerPoint 内置工具更复杂的漫游工具。例如,如果在幻灯片母版中添加两个名为“cmdBack”和“cmdForward”的按钮,并为其编写下面的代码,所有基于该母版(并设为显示幻灯片母版背景图形)的幻灯片在放映幻灯片时,将激活这些看起来非常专业化的导航按钮。

Private Sub cmdBack_Click()
 Me.Parent.SlideShowWindow.View.Previous
End Sub

Private Sub cmdForward_Click()
 Me.Parent.SlideShowWindow.View.Next
End Sub

若要在不影响幻灯片中其他形状的情况下操作所有 ActiveX 控件,可以创建一个只包含控件的ShapeRange 集合。然后可以对整个集合应用属性和方法,或对集合进行重复操作以单独使用每个控件。以下示例将当前演示文稿中第一张幻灯片的所有控件对齐并垂直排列。

With ActivePresentation.Slides(1).Shapes
 numShapes = .Count
 If numShapes > 1 Then
 numControls = 0
 ReDim ctrlArray(1 To numShapes)
 For i = 1 To numShapes
 If .Item(i).Type = msoOLEControlObject Then
 numControls = numControls + 1
 ctrlArray(numControls) = .Item(i).Name
 End If
 Next
 If numControls > 1 Then
 ReDim Preserve ctrlArray(1 To numControls)
 Set ctrlRange = .Range(ctrlArray)
 ctrlRange.Distribute msoDistributeVertically, True
 ctrlRange.Align msoAlignLefts, True
 End If
 End If
End With

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文