cyw456 发表于 2017-10-23 18:31:27

SlideRange集合对象的范例

        SlideRange集合对象:代表备注页或幻灯片范围的集合,该范围是一组幻灯片,少则仅包含一个,多则包含演示文稿中的所有幻灯片。要构造幻灯片范围,可通过从演示文稿中的所有幻灯片或已选择的幻灯片中选择所需的任意幻灯片。例如,可以构造一个 SlideRange 集合,它包含演示文稿中的前三张幻灯片、演示文稿中所有已选择的幻灯片或演示文稿中的所有标题幻灯片。
  使用SlideRange集合,功能描述如下:
  返回有指定名称或索引号的一组幻灯片
  返回演示文稿中所有或部分选定幻灯片
  返回备注页
  将属性和方法应用于幻灯片范围
  返回指定名称或索引号的一组幻灯片
  使用 Slides.Range(index) 返回代表演示文稿中一组幻灯片的 SlideRange 集合,其中 index 为幻灯片名称或索引号,或者为包含幻灯片名称或索引号的数组。可以使用 Array 函数构建名称或索引号数组。以下示例设置当前演示文稿第一张和第三张幻灯片的背景填充。
  With ActivePresentation.Slides.Range(Array(1, 3))
   .FollowMasterBackground = False
   .Background.Fill.PresetGradient msoGradientHorizontal, _
   1, msoGradientLateSunset
  End With
  以下示例设置当前演示文稿中幻灯片“Intro”和“Big Chart”的背景填充。请注意,幻灯片创建时被自动赋予形如 Sliden(n 为一个整数)的名称。若要赋予幻灯片更有意义的名称,请使用 Name 属性。
  With ActivePresentation.Slides.Range(Array("Intro", "Big Chart"))
   .FollowMasterBackground = False
   .Background.Fill.PresetGradient msoGradientHorizontal, _
   1, msoGradientLateSunset
  End With
  虽然可以使用 Range 方法返回任意数量的幻灯片,如果仅想返回一个 SlideRange 集合的成员,则使用 Item 方法更为简单。例如,Slides(1) 比 Slides.Range(1) 简单。
  返回演示文稿中所有或部分选中幻灯片
  使用 Selection 对象的 SlideRange 属性返回所有选中对象中的幻灯片。以下示例设置第一个窗口中所有选中幻灯片的背景填充(假设至少已选中一张幻灯片)。
  With Windows(1).Selection.SlideRange
   .FollowMasterBackground = False
   .Background.Fill.PresetGradient msoGradientHorizontal, _
   1, msoGradientLateSunset
  End With
  使用 Selection.SlideRange(index) 从选中对象中返回一张幻灯片,其中 index 为幻灯片名称或索引号。以下示例设置第一个窗口的选中幻灯片集合中第二张幻灯片的背景填充(假设至少已选中两张幻灯片)。
  With Windows(1).Selection.SlideRange(2)
   .FollowMasterBackground = False
   .Background.Fill.PresetGradient msoGradientHorizontal, _
   1, msoGradientLateSunset
  End With
  返回备注页
  使用 NotesPage 属性返回代表指定备注页的 SlideRange 集合。以下示例在当前演示文稿第一张幻灯片备注页的第二个占位符(备注区)中插入文本。
  ActivePresentation.Slides(1).NotesPage.Shapes _
   .Placeholders(2).TextFrame.TextRange.InsertAfter "Added Text"
  将属性和方法应用于幻灯片范围
  如同在用户界面中选中多个幻灯片并通过命令同时操作它们一样,通过建立一个 SlideRange 集合并对其使用属性和方法,可以在编程中同时操作多个幻灯片。如同用户界面中用于单张幻灯片的命令不能用于多张幻灯片一样,某些应用于单独 Slide 对象或只包含一张幻灯片的 SlideRange 集合的属性和方法不能用于包含多张幻灯片的 SlideRange 集合。一般情况下,如果选中多张幻灯片时,某些操作无法手动完成(例如返回某一幻灯片中的单个形状),则编程时也不能对包含多张幻灯片的 SlideRange 集合进行该操作。
  对于用户界面中可用于一张或多张选中幻灯片的操作(例如复制幻灯片到剪贴板或设置幻灯片背景填充),相应的属性和方法也可用于包含多张幻灯片的 SlideRange 集合。下面是如何对多张幻灯片使用这些属性和方法的一些指导。
  对 SlideRange 集合应用某方法等价于对该集合中所有 Slide 对象应用该方法。
  设置 SlideRange 集合的属性值等价于单独设置该区域中所有幻灯片的属性值(对于枚举类型的属性,设置“Mixed”值无效)。
  如果集合中所有幻灯片的某一枚举类型属性有相同的值,SlideRange 集合的该属性返回集合中单张幻灯片的属性值。如果集合中的幻灯片属性不同,该属性返回“Mixed”值。
  如果在集合中的所有幻灯片关于某属性具有相同的属性值,则返回简单数据类型(例如 Long、Single 或 String)的 SlideRange 集合的属性返回集合中单独幻灯片的该属性值。如果集合中的幻灯片该属性的属性值不都相同,则属性将返回 -2 或产生一个错误。例如,使用包含多个幻灯片的 SlideRange 对象上的 Name 属性将产生一个错误,因为每一幻灯片都有不同的 Name 属性值。
  幻灯片的某些格式属性不是通过直接应用于 SlideRange 集合的属性和方法来设置,而是通过应用于包含在 SlideRange 集合中对象的属性和方法来设置,例如 ColorScheme 对象。如果所包含的对象代表用户界面中可用于多个对象的操作,则可以从包含多张幻灯片的 SlideRange 集合返回该对象,且其属性和方法与前述规则相同。例如,可以使用 ColorScheme 属性返回 ColorScheme 对象,该对象代表用于指定 SlideRange 集合中所有幻灯片的配色方案。设置该 ColorScheme 对象的属性也将设置 SlideRange 集合中所有单个幻灯片的 ColorScheme 对象的这些属性。

cizeng 发表于 2017-10-25 06:59:47

我卷了~~~~~~~

laqin707 发表于 2017-10-28 14:22:49

不错啊! 一个字牛啊!
页: [1]
查看完整版本: SlideRange集合对象的范例