我能够添加一个范围,但无法添加多个范围并在变量中确定它:
Set PR = ActivePresentation.PrintOptions.Ranges.Add(1, 1)
是否可以在上述范围内添加更多范围?
我尝试了以下有效的方法,但无法将其设置为等于PR
With ActivePresentation
With .PrintOptions
.RangeType = ppPrintSlideRange
With .Ranges
.ClearAll
.Add 1, 1
.Add 3, 3
End With
End With
.PrintOut
End With
是否可以在变量下确定上述范围?
谢谢。
答案 0 :(得分:2)
ActivePresentation.PrintOptions.Ranges.Add
添加一个范围,并返回一个PrintRange
对象。它不能容纳多个范围,因为它代表一个范围。如果您有多个范围,则有多个PrintRange
对象,因此您可以访问它们并使用PrintRanges
集合。
PrintRanges object (PowerPoint)
指定的所有PrintRange对象的集合 介绍。每个 PrintRange 对象代表一个范围 连续的幻灯片或要打印的页面。
示例使用Ranges属性返回 PrintRanges 集合。
因此,当您添加多个范围时:
With ActivePresentation
With .PrintOptions
.RangeType = ppPrintSlideRange
With .Ranges
.ClearAll
.Add 1, 1
.Add 3, 3
End With
End With
End With
然后将所有这些范围都包含到ActivePresentation.PrintOptions.Ranges
集合中。
For Each Range In ActivePresentation.PrintOptions.Ranges
Debug.Print TypeName(Range)
Next Range
更新
如果您要ExportAsFixedFormat
导出特定的幻灯片,则可以选择要导出的幻灯片并将ppPrintSelection
用于RangeType
参数:
' Select slides 1 and 3
ActivePresentation.Slides.Range(Array(1, 3)).Select
' Export PDF with selected slides
ActivePresentation.ExportAsFixedFormat _
Path:=savePath, _
FixedFormatType:=ppFixedFormatTypePDF, _
RangeType:=ppPrintSelection